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

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

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

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: тИЦ => PHP
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


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

> Без описания
scar
Отправлено: 08 Ноября, 2008 - 08:46:03
Post Id



Include


Покинул форум
Сообщений всего: 278
Дата рег-ции: Июль 2007  
Откуда: Киев

Карма 0




Здравствуйте!
Мне нужен скрипт который будет выводить на страницу тИЦ сайта (вот думаю ка это сделать).
Кто знает как работают такие сервисы как pr-cy.ru?

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

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

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

Но тут возникает другой вопрос: Что если разработчики Яндекса захотят изменить дизайн или строку "<b>Индекс цитирования (тИЦ) ресурса — 30</b>", тогда тИЦ сайта будет равно "". Однако
 
 Top
VipRaskrutka
Отправлено: 08 Ноября, 2008 - 14:55:29
Post Id



Junior Member


Покинул форум
Сообщений всего: 96
Дата рег-ции: Окт. 2007  
Откуда: Минск

Карма 0




scar, так у тебя скрипт получения будет в одном месте?Если яндекс сменит - так и тебе не проблема подправить в одном месте код. + кешируй цифру, чтоб не дергать лишний раз яндекс, чтоб не забанил ip с которогго идут запросы...
 
 Top
Furax
Отправлено: 09 Ноября, 2008 - 05:17:55
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Вряд ли серьёзные люди станут парсить эту страницу, рассчитанную на людей, а не ботов... Но если всё же парсить - да, надо кэшировать. По поводу поиска у Яндекса было ограничение, насколько я помню, в 1000 запросов в сутки с одного IP (т. е. считай, если хостинг бесплатный - ловить нечего), за тИЦем, скорее всего, тоже следят.
 
 Top
scar
Отправлено: 11 Ноября, 2008 - 03:50:05
Post Id



Include


Покинул форум
Сообщений всего: 278
Дата рег-ции: Июль 2007  
Откуда: Киев

Карма 0




Я в этом не силен, по этому вопрос может показаться глупым.
Как кэшировать? Есть какие-то статьи где я мог бы узнать о этом "хитром" деле?)
 
 Top
Furax
Отправлено: 11 Ноября, 2008 - 04:32:25
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Кэшируют обыно так: при первом запросе результат сохраняется в файл или базу данных, и в течение некоторого времени с момента этого сохранения (время сохранения записывается, а затем сравнивается с текущим) при необходимости доступа к тем данным, что были кэшированы, вместо обращения к серверу происходит чтение ранее сохранённых данных. Когда же проходит время, за которое данные могут устареть, при очередном запросе данные кэшируются заново, перезаписывая старую сохранённую версию.

О реализации этих алгоритмов статей вроде бы хватает. Останутся вопросы - задавай!
 
 Top
defenderyk
Отправлено: 11 Ноября, 2008 - 04:39:33
Post Id


Super Member


Покинул форум
Сообщений всего: 709
Дата рег-ции: Окт. 2007  
Откуда: Россия

Карма 3




именно это я и хочу получить с парсингом погоды и курсов. при чем было бы хорошо, если через базу было бы. но пока для меня реализация этого всего не очень понятна. Мне легче сам алгоритм составить как должно работать, чем реализовать это в коде. Растерялся

(Отредактировано автором: 11 Ноября, 2008 - 04:46:17)

 
 Top
scar
Отправлено: 11 Ноября, 2008 - 06:36:22
Post Id



Include


Покинул форум
Сообщений всего: 278
Дата рег-ции: Июль 2007  
Откуда: Киев

Карма 0




Furax пишет:
Кэшируют обыно так: при первом запросе результат сохраняется в файл или базу данных, и в течение некоторого времени с момента этого сохранения (время сохранения записывается, а затем сравнивается с текущим) при необходимости доступа к тем данным, что были кэшированы, вместо обращения к серверу происходит чтение ранее сохранённых данных. Когда же проходит время, за которое данные могут устареть, при очередном запросе данные кэшируются заново, перезаписывая старую сохранённую версию.


Огромное спасибо за помощь!
 
 Top
scar
Отправлено: 03 Декабря, 2008 - 02:57:23
Post Id



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. Хочу создать парсинг для своего каталога сайтов. По этому прийдется обращаться не один раз в день (даже если кэшировать) Хм
 
 Top
yura3d
Отправлено: 03 Декабря, 2008 - 17:52:01
Post Id


Super Member


Покинул форум
Сообщений всего: 624
Дата рег-ции: Июль 2007  
Откуда: Минск, Беларусь

Карма 17




scar пишет:
Ваше мнение. Забанит ли меня Яша за такие дела?
P.S. Хочу создать парсинг для своего каталога сайтов. По этому прийдется обращаться не один раз в день (даже если кэшировать)

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



Include


Покинул форум
Сообщений всего: 278
Дата рег-ции: Июль 2007  
Откуда: Киев

Карма 0




Как использовать прокси на сервере? Смущение
Возможно ли это сделать с помощью PHP?

(Отредактировано автором: 05 Декабря, 2008 - 11:56:22)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


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

[Script Execution time: 0.048]     [ Gzipped ]