|
|
автор: 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>
|
| |
|
|
|
|
|
|
|
для: Humbug
(10.01.2006 в 11:37)
| | Чтобы отладить ситуацию, нужна сбойная страница, если вам не сложно, прикрепите её к посту или дайте ссылку. | |
|
|
|
|
автор: Humbug (10.01.2006 в 11:37) |
|
|
для: 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>";
?>
|
| |
|
|
|
|
|
|
|
для: 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.) | |
|
|
|
|
|
|
|
для: Volodja
(19.10.2005 в 08:53)
| | Что выступает в качестве <img=image.gif> и где он в первом примере? | |
|
|
|
|
|
|
|
для: cheops
(17.10.2005 в 19:38)
| | Нужно сделать это не для утрированной версии, а для HTML кода приведенного в первом посте. | |
|
|
|
|