Определение ТИЦ PHP

12
[Удален]
1146

Поднимаю вопрос, так как

http://bar-navig.yandex.ru/u?ver=2&lang=1049&url=searchengines.ru&show=1&thc=0

уже как неделю

service temporary unavailable

ПОКА работает альтернатива:

http://search.yaca.yandex.ru/yca/cy/ch/searchengines.ru/

Чем хорош - быстро работает! По этому адресу есть несколько форматов вывода:

- сайт не в каталоге

- сайт в каталоге

Предлагайте рабочие варианты скриптов в эту ветку, так как найденные варианты уже не работают ввиду сменой Яндексом верстки частей каталога.

Рабочие скрипты, поиска по картинке "arr-hilite.gif" не работают, например для:

http://search.yaca.yandex.ru/yca/cy/ch/yandex.ru/

Если у читателей есть рабочие скрипты, определяющие ТИЦ для сайтов в каталоге и вне его, прошу поделиться, так как сам в регулярках не силён, а делать через strpos банально тупо :)

Zhilinsky
На сайте с 05.08.2007
Offline
86
#1

function getBarCY($_url) {
$_uri = "http://bar-navig.yandex.ru/u?ver=2&url=".urlencode("http://".$_url)."&show=1";
$fd = @fopen($_uri, "r");
if ($fd) {
while ($buffer = fgets($fd, 4096)) $haystack.=$buffer;
fclose($fd);
preg_match("/<tcy rang=\"(.*)\" value=\"(.*)\"\/>/isU",
$haystack,$cy);
return (int) $cy[2];
} else return 0;
}

Медленно, но работает:

http://zhilinsky.ru/temp/check.php?uri=searchengines.ru

Жилинский (http://жилинский.рф/).
[Удален]
#2

Владимир, я конечно уважаю Ваши труды, но это ведь не то, что я просил. И потом - 50 секунд на ожидание ответа - это нормально? Против ответа каталога за 1 секунду...

Zhilinsky
На сайте с 05.08.2007
Offline
86
#3

Ещё раз перечитал вопрос - противоречий не нашёл, а нить окончательно потерял... =)

Я сейчас ковыряюсь с распознаванием картинки, это думаю быстрее будет, но пока не готово.

[Удален]
#4
Zhilinsky:
Ещё раз перечитал вопрос - противоречий не нашёл, а нить окончательно потерял... =)
Я сейчас ковыряюсь с распознаванием картинки, это думаю быстрее будет, но пока не готово.

Картинки обновляются не сразу, насколько я в теме.

Есть смысл просто написать регулярку по парсингу каталога. Есть наработка:

Не в каталоге:

if ( preg_match("/Индекс цитирования \(тИЦ\) ресурса &#151; ([0-9]{2,})/", $data, $arr) )

$num = $arr[1];

и

if (preg_match('/Индекс цитирования \(тИЦ\) ресурса..?меньше 10/is', $data))

$num = 0;

а вот что в каталоге - там уже косяк у меня. Вот и ищу идеи.

Zhilinsky
На сайте с 05.08.2007
Offline
86
#5

Хм... А если парсинг XML занимает

Yandex CY (bar): 70000 (21. c.)

по какой-то лично для меня недоступной причине, то почему парсинг HTML будет (ли?) быстрее ?

Сейчас сравниваю задержки... На рушках в среднем 0.2 секунды, на ком и орг иногда жесть до 50. Почему - ХЗ.

[Удален]
#6
Zhilinsky:
Хм... А если парсинг XML занимает

по какой-то лично для меня недоступной причине, то почему парсинг HTML будет (ли?) быстрее ?

Сейчас сравниваю задержки... На рушках в среднем 0.2 секунды, на ком и орг иногда жесть до 50. Почему - ХЗ.

Ошиблись в определении - 21 секунду занимает не парсинг, а ожидание ответа от Яндекса bar-navig.yandex.ru. Сам парсинг занимает сотые доли секунды, как и с HTML. Ответ от search.yaca.yandex.ru очень редко превышает 5 секунд - ведь это сайт, а не какой-то поток XML предоставляемый только для бара.

Zhilinsky
На сайте с 05.08.2007
Offline
86
#7

Да я понимаю ,что это не парсинг 5 строчек =)

А вот почему Яндекс своему тулбару даёт такие задержки - вне зоны моего понимания.

Надо бы правда подумать над регуляркой. Теперь понял вопрос )

[Удален]
#8
Zhilinsky:
Да я понимаю ,что это не парсинг 5 строчек =)
А вот почему Яндекс своему тулбару даёт такие задержки - вне зоны моего понимания.
Надо бы правда подумать над регуляркой. Теперь понял вопрос )

Я думаю сервис банально перегружен. Тысячи пользователей с баром делают ежесекундные запросы. Тысячи вебмастеров сосут информацию тоже с этого потока. SAPE уже давно отказалась от этого потока как от нестабильного.

Ещё одиним аспектом я считаю - палево самим Яндексом. Согласно лицензии на Бар, Яндекс имеет право автоматически собирать информацию о посещении страниц пользователями. Новые версии бара отправляют не только URL просматриваемой страницы, но и Referer, а так же тип GET или POST. Яндекс негласно становится Большим Братом, с возможность тотального контроля за деятельностью ру-инета.

H
На сайте с 21.12.2007
Offline
24
#9
Лёхха:
Есть наработка:

Не в каталоге:
if ( preg_match("/Индекс цитирования \(тИЦ\) ресурса — ([0-9]{2,})/", $data, $arr) )

$num = $arr[1];

и
if (preg_match('/Индекс цитирования \(тИЦ\) ресурса..?меньше 10/is', $data))

$num = 0;


где на этой странице http://search.yaca.yandex.ru/yca/cy/ch/searchengines.ru фраза Индекс цитирования (тИЦ) ресурса ... ?

[Удален]
#10
hrenoid:
где на этой странице http://search.yaca.yandex.ru/yca/cy/ch/searchengines.ru фраза Индекс цитирования (тИЦ) ресурса ... ?

Как где? Вот:

http://search.yaca.yandex.ru/yca/cy/ch/asd.ru

написано же - что для сайтов вне каталога.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий