Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#39 used as offset, casting to integer (39) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: тИЦ => PHP
ТвойWeb » WebMaster класс » PHP/Perl » тИЦ => PHP

Страниц (2): [1] 2 »
 

1. scar - 08 Ноября, 2008 - 08:46:03 - перейти к сообщению
Здравствуйте!
Мне нужен скрипт который будет выводить на страницу тИЦ сайта (вот думаю ка это сделать).
Кто знает как работают такие сервисы как pr-cy.ru?

Вот мои размышления:

PHP-скрипт открывает страницу (например: http://search.yaca.yandex.ru/yca/cy/ch/site.ru), считывает построчно (записывает в массив каждую строку) и находит строку с следующим содержимым: "<b>Индекс цитирования (тИЦ) ресурса — 30</b>", отрезает все лишнее и оставляет "30".

Я прав? Или они работают как-то по другому?

Но тут возникает другой вопрос: Что если разработчики Яндекса захотят изменить дизайн или строку "<b>Индекс цитирования (тИЦ) ресурса — 30</b>", тогда тИЦ сайта будет равно "". Однако
2. VipRaskrutka - 08 Ноября, 2008 - 14:55:29 - перейти к сообщению
scar, так у тебя скрипт получения будет в одном месте?Если яндекс сменит - так и тебе не проблема подправить в одном месте код. + кешируй цифру, чтоб не дергать лишний раз яндекс, чтоб не забанил ip с которогго идут запросы...
3. Furax - 09 Ноября, 2008 - 05:17:55 - перейти к сообщению
Вряд ли серьёзные люди станут парсить эту страницу, рассчитанную на людей, а не ботов... Но если всё же парсить - да, надо кэшировать. По поводу поиска у Яндекса было ограничение, насколько я помню, в 1000 запросов в сутки с одного IP (т. е. считай, если хостинг бесплатный - ловить нечего), за тИЦем, скорее всего, тоже следят.
4. scar - 11 Ноября, 2008 - 03:50:05 - перейти к сообщению
Я в этом не силен, по этому вопрос может показаться глупым.
Как кэшировать? Есть какие-то статьи где я мог бы узнать о этом "хитром" деле?)
5. Furax - 11 Ноября, 2008 - 04:32:25 - перейти к сообщению
Кэшируют обыно так: при первом запросе результат сохраняется в файл или базу данных, и в течение некоторого времени с момента этого сохранения (время сохранения записывается, а затем сравнивается с текущим) при необходимости доступа к тем данным, что были кэшированы, вместо обращения к серверу происходит чтение ранее сохранённых данных. Когда же проходит время, за которое данные могут устареть, при очередном запросе данные кэшируются заново, перезаписывая старую сохранённую версию.

О реализации этих алгоритмов статей вроде бы хватает. Останутся вопросы - задавай!
6. defenderyk - 11 Ноября, 2008 - 04:39:33 - перейти к сообщению
именно это я и хочу получить с парсингом погоды и курсов. при чем было бы хорошо, если через базу было бы. но пока для меня реализация этого всего не очень понятна. Мне легче сам алгоритм составить как должно работать, чем реализовать это в коде. Растерялся
7. scar - 11 Ноября, 2008 - 06:36:22 - перейти к сообщению
Furax пишет:
Кэшируют обыно так: при первом запросе результат сохраняется в файл или базу данных, и в течение некоторого времени с момента этого сохранения (время сохранения записывается, а затем сравнивается с текущим) при необходимости доступа к тем данным, что были кэшированы, вместо обращения к серверу происходит чтение ранее сохранённых данных. Когда же проходит время, за которое данные могут устареть, при очередном запросе данные кэшируются заново, перезаписывая старую сохранённую версию.


Огромное спасибо за помощь!
8. scar - 03 Декабря, 2008 - 02:57:23 - перейти к сообщению
Нашел статью как парсить тИЦ:
Цитата:
До недавнего времени для определения ТИЦ парсил страницу bar-navig.yandex.ru. Но теперь данный адрес отказывается выдавать информацию о сайтах не присутствующих в Яндекс.Каталоге. Даже не знаю как это объяснить, наверное снова их заморочки.
Как известно есть еще один адресок который дай бог выдает такую инфу. Вот собственно и он search.yaca.yandex.ru. Правда первый был более удобнее, так как выдавал только лиш цифры и информацию о том в какой категории находитса тот или иной сайт, что в свою очередь довольно сильно облегчает парсинг и снижает нагрузку и ненужный трафик.
Но куда в наше время деваться? Будем парсить что есть. В этом посте хочу привести очень полезную функцию для определение ТИЦа. А вы уже сами решите куда её использовать Улыбка
Собственно она:

CODE:
function yandex($url){
global $set;
$file=file_get_contents(”http://search.yaca.yandex.ru/yca/cy/ch/$url/”);
$file=iconv(”UTF-8″, “windows-1251″, $file);
///echo $file;
//Определение ТИЦ
$tica=preg_match(”!ресурса меньше (.*?).!si”,$file,$ok);
$tic=$ok[1];
if (trim($tic)==’10′) $tic=’0′;
if ( trim($tic)!=’0′ )
{
$tica=preg_match(”!ресурса — (.*?)!si”,$file,$ok);
$tic=$ok[1];
}
if ( trim($tic)==” )
{
$file=file_get_contents(”http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://$url”);
//Определение ТИЦ
$tica=preg_match(”!value=\”(.*?)\”!si”,$file,$ok);
$tic=$ok[1];
}
return $tic;
}


Расскажу по порядку. Во первых парсим мы нужный адресок, и обязательно меняем кодировку. Возможно на вашем сервере этого не понадобитса, но если не будет определятся, убираем коммент echo $file; для отладки. Видем каракули? Убираем функцию iconv : )
Первое что мы проверяем, есть ли вообще ТИЦ у проекта. Далее ветвление определяем, стоит ли узнавать точное значение, если переменная равна 0 то не стоит : ) Ну и если первым способом определить не выходит, используем второй.
Вот и все. Конечно функция довольно грузанутая, но результат стоит этого.

http://www.zarublem.su/pedia/36.html

Ваше мнение. Забанит ли меня Яша за такие дела?
P.S. Хочу создать парсинг для своего каталога сайтов. По этому прийдется обращаться не один раз в день (даже если кэшировать) Хм
9. yura3d - 03 Декабря, 2008 - 17:52:01 - перейти к сообщению
scar пишет:
Ваше мнение. Забанит ли меня Яша за такие дела?
P.S. Хочу создать парсинг для своего каталога сайтов. По этому прийдется обращаться не один раз в день (даже если кэшировать)

За частые и многочисленные обращения Яндекс безусловно забанит IP, с которого эти запросы поступают (в данном случае IP сервера, на котором расположен Ваш сайт). Тоже самое сделает и Гугл, и многие другие сервисы и службы. Варианты решения - кешировать результаты и использовать прокси при частых обращениях
10. scar - 05 Декабря, 2008 - 11:43:31 - перейти к сообщению
Как использовать прокси на сервере? Смущение
Возможно ли это сделать с помощью PHP?

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0399]     [ Gzipped ]