Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Парсинг тИЦ в Я каталоге

Сообщения:  [1-10]   [11-16] 

 
 автор: Humbug   (10.01.2006 в 15:36)
 
   для: cheops   (10.01.2006 в 14:13)
 

Спасибо. Разобрался сам. :)

   
 
 автор: Humbug   (10.01.2006 в 14:45)
 
   для: cheops   (10.01.2006 в 14:13)
 

В предыдущих примерах названия сайтов www.site.ru и www.kss.ru идентичны.
Последний взят в качестве примера.

   
 
 автор: Humbug   (10.01.2006 в 14:37)
 
   для: cheops   (10.01.2006 в 14:13)
 

Есть страница с этим кодом:

$text = get_content();
$pattern = '|<img[^>]+http://img.yandex.ru/i/arr-hilite.gif[^>]+>[^>]+>[^>]+>[\s]*([\d])\..*>([\d]+)<|isU'; 
preg_match_all($pattern,$text,$out,PREG_PATTERN_ORDER); 
echo $out[1][0]."<br />";
echo $out[2][0]."<br />"; 
function get_content(){
$site = $_GET["site"]; 
$link = "http://search.yaca.yandex.ru/yca/cy/ch/".$site."/"; 
$fd = fopen($link, "r"); 
$text=""; 
if (!$fd) echo "Запрашиваемая страница не найдена"; 
else {while (!feof ($fd)) $text .= fgets($fd, 4096);} 
fclose ($fd); 
return $text; 
}

Если страница располагается в первой десятке в выдаче Яндекса, то все работает нормально. Но если значение $out[1][0] становится больше 10 (включительно), то перестает работать.

PS. Возникла еще одна идея. А что если для получения тИЦ брать следующую строку

<a href="http://www.yandex.ru/yandsearch/?text=&Link=http://www.site.ru,http://site.ru&iserverurl=www.site.ru,site.ru&numdoc=10&viddoc=full&sserver=0&ci=1000" title="Кто ссылается">

Здесь значение тИЦ указано. Можно ли ее разобрать и получить значение тИЦ?
Этот код содержится в части:

<img border="0" height="25" width="28" alt="" src="http://img.yandex.ru/i/arr-hilite.gif">
</td>
<td align="right" width="20">1.</td>
<td width="*">
<A target=_blank onclick="r(this, 'ctya')" href="http://www.site.ru/" target=_blank>Site</A>
<div>info</div>
</td>
<td align="right">
<a href="http://www.yandex.ru/yandsearch/?text=&Link=http://www.kss.ru,http://kss.ru&iserverurl=www.kss.ru,kss.ru&numdoc=10&viddoc=full&sserver=0&ci=2000" title="Кто ссылается">2000</a>

   
 
 автор: cheops   (10.01.2006 в 14:13)   письмо автору
 
   для: Humbug   (10.01.2006 в 11:37)
 

Чтобы отладить ситуацию, нужна сбойная страница, если вам не сложно, прикрепите её к посту или дайте ссылку.

   
 
 автор: Humbug   (10.01.2006 в 11:37)
 
   для: cheops   (21.10.2005 в 14:03)
 

Все прекрасно, только замечено, что при положении сайта во второй десятке вывода, данные не считываются :(

   
 
 автор: Volodja   (21.10.2005 в 18:16)   письмо автору
 
   для: cheops   (21.10.2005 в 14:03)
 

Код работает, спасибо за помощь

   
 
 автор: cheops   (21.10.2005 в 14:03)   письмо автору
 
   для: Volodja   (20.10.2005 в 23:07)
 

Посмотрите следующее регулярное выражение
<?php
  $pattern 
'|<img[^>]+http://img.yandex.ru/i/arr-hilite.gif[^>]+>[^>]+>[^>]+>[\s]*([\d])\..*>([\d]+)<|isU'
  
preg_match_all($pattern,$text,$out,PREG_PATTERN_ORDER); 
  echo 
$out[1][0]."<br>"
  echo 
$out[2][0]."<br>"
?>

   
 
 автор: Volodja   (20.10.2005 в 23:07)   письмо автору
 
   для: cheops   (19.10.2005 в 14:55)
 

В первом сообщениии в качестве <img=image.gif> выступает <img border="0" height="25" width="28" alt="" src="http://img.yandex.ru/i/arr-hilite.gif"></td><td align="right" width="20"> (находится перед цыфрой 3.)

   
 
 автор: cheops   (19.10.2005 в 14:55)   письмо автору
 
   для: Volodja   (19.10.2005 в 08:53)
 

Что выступает в качестве <img=image.gif> и где он в первом примере?

   
 
 автор: Volodja   (19.10.2005 в 08:53)   письмо автору
 
   для: cheops   (17.10.2005 в 19:38)
 

Нужно сделать это не для утрированной версии, а для HTML кода приведенного в первом посте.

   

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования