Без описания |
Поиск в теме | Версия для печати |
Furax |
Отправлено: 09 Ноября, 2008 - 05:17:55
|
Бледнотик
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007
Откуда: Иркутск, Сибирь, СССР
Карма 32
|
Вряд ли серьёзные люди станут парсить эту страницу, рассчитанную на людей, а не ботов... Но если всё же парсить - да, надо кэшировать. По поводу поиска у Яндекса было ограничение, насколько я помню, в 1000 запросов в сутки с одного IP (т. е. считай, если хостинг бесплатный - ловить нечего), за тИЦем, скорее всего, тоже следят. |
|
|
Furax |
Отправлено: 11 Ноября, 2008 - 04:32:25
|
Бледнотик
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007
Откуда: Иркутск, Сибирь, СССР
Карма 32
|
Кэшируют обыно так: при первом запросе результат сохраняется в файл или базу данных, и в течение некоторого времени с момента этого сохранения (время сохранения записывается, а затем сравнивается с текущим) при необходимости доступа к тем данным, что были кэшированы, вместо обращения к серверу происходит чтение ранее сохранённых данных. Когда же проходит время, за которое данные могут устареть, при очередном запросе данные кэшируются заново, перезаписывая старую сохранённую версию.
О реализации этих алгоритмов статей вроде бы хватает. Останутся вопросы - задавай! |
|
|
scar |
Отправлено: 03 Декабря, 2008 - 02:57:23
|
Include
Покинул форум
Сообщений всего: 278
Дата рег-ции: Июль 2007
Откуда: Киев
Карма 0
|
Нашел статью как парсить тИЦ:
Цитата:До недавнего времени для определения ТИЦ парсил страницу 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. Хочу создать парсинг для своего каталога сайтов. По этому прийдется обращаться не один раз в день (даже если кэшировать) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (2): [1] 2 » |
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0) |
« PHP/Perl » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|