freesoccer

Рейтинг
51
Регистрация
06.06.2008
Есть ли смысл писать тикет?

Нету. Написал тикет вечером -утром его удалили без ответа. Та же ситуация - статистика за 8-е ушла в ноль.

maldivec - а Вы парсить с помощью "Simple html dom" не пробовали?

Парсер любой инфы пишется максимум за 30 минут.

Советую присмотреться к "Simple html dom", мануалы по нему несложные. Я с его помощью написал парсеры инфы с более чем 30 сайтов примерно за 8 рабочих часов, учитывая что на всех сайтах структура html была разная.

NikolaZ - не прокси-сервер в прямом понимании, скорее нечто кустарное. Скрипт, через который парсите выдачу :)

Расскажу как сделал сам: у меня 1 скрипт, но лежит на разных доменах/поддоменах, которые висят на разных айпи.

С помощью этих скриптов делаете запрос к Яндексу, причем скрипты запрашиваются по очереди: сначала 1.site.ru/script.php, потом 2.site.ru/script.php и т.д.

Т.к. всего таких "прокси" у меня 10, а скрипт запускается по крону раз в минуту, получается, что запрос с 1 айпи идет 1 раз в 10 минут. Если парсить нечего, то запросы вообще не производятся. В результате с банами сталкиваюсь "крайне редко" т.к. система сама отключает забаненный айпи.

Как-то так ;)

Вот реферер.

curl_setopt($ch, CURLOPT_REFERER, "http://www.yandex.ru");

Лично потестил на денвере и 1 шаред-хостинге. 2 строки с куками вообще можно из скрипта удалить :) Все работает без них.

Что касается прокси - достаточно 1-2 шаред хостингов с возможностью докупать айпи. Бесплатные не юзаю. Если нужно парсить выдачу в промышленных масштабах, то без платных прокси никуда.

NikolaZ - Вы для начала поставьте Денвер в полной версии с курлом на локальном компе и попробуйте ваш скрипт на нем.

У меня, как и у digwnews, заработало и на Денвере и на шареде, следовательно - должно работать в принципе. Проблема 99.9% на сервере, точнее в его настройках. Точно могу сказать, что скрипт работает на хостинге от sweb (это не реклама - констатация факта) - на нем именно все и потестил.

Возможно айпи в бане - попробуйте завтра скрипт запустить, как правило бан длится 8-12 часов.

Из опыта - как-то использовал файловый кеш на одном из сайтов. Поначалу все летало, запросы урезал почти до минимума, память потреблялась минимально, страницы генерились за 0.01 сек.

Примерно через 10 месяцев заметил странность - страницы сайта стали генериться более 1 сек. , потребление памяти осталось на прежнем уровне.

Когда зашел в папку с кешем, то обнаружил что файлов в ней скопилось под 100 тыс. Провел эксперимент - включал и выключал кеш. По итогу, без кеша с запросами с MySQL страницы генерились за 0.1 - 0.5 сек. , а с кешем - от 1 сек. и выше.

Не претендую на то, что кеш можно было бы сделать и менее "кривым" - я не гений программинга, но в данном случае прослеживается тенденция - почему-то сервер затрачивает больше времени на поиск нужного файла в папке, если файлов в оной достаточно много, нежели будет выполнено около 15 запросов к MySQL.

Moved Permanently The document has moved here.

У меня такое вылазило в зависимости от хостинга, где стоят прокси. Кое где есть, а кое где нет. Отчего такое разбираться не стал, ибо шаред-хостингов под прокси хватает.

Но все же, как Яндекс палит?

Чтобы не палил:

1. Юзать прокси.

2. Если делать одновременно 2-3 запроса к Яндексу с одного айпи, айпи уходит в бан, примерно часов на 8-12. Поэтому запросы с одного айпи нужно производить хотя-бы с интервалом в 1 минуту.

3. А почему у вас нет нигде:

curl_setopt($ch, CURLOPT_REFERER, $refer);

$refer есть, а CURLOPT_REFERER нет ;)

ТС, попробуйте этот плагин.

Незнаю как он работает на новых 3-х версиях, но на 2-м Вордпрессе трудился исправно.

Valachi221, когда кажется креститься надо :)

Основной вопрос как раз в том, что в XML Яндекс выдает далеко не то, что показывает пользователям. Вы сравните пару сайтов работающих на Яндекс XML и выдачу самого Яндекса, как говорится - почувствуйте разницу!

Иначе зачем люди ломают головы и покупают прокси, чтобы парсить выдачу напрямую с серпа?

Почему позиции там и там отличаются?

Спросите Платона, может и ответит :)

Кто делал подробные программки или просто знает - откуда серп тащит данные?

А что Вам мешает парсить серп?

5 минут и вопрос решен.

Ваша проблема вот где:

description><![CDATA[ Discover theSECRETS to building MASSIVE, RESPONSIVE LISTS!Where 1 Emailcan have your subscribersBEGGING YOU toHANDOVER THEIR CASH!Dear Fellow WarriorHave you been struggling to build a responsive mailing list, but all you keep hearing is �TheMONEY is in the LIST�?I know the feeling.But you know what...I kept at it for 2 years before I got anywhereI... ]]></description>

Символы � вводят SimpleXML в ступор.

Расступорить его проще простого.

Лекарство в студии (протестировано ;) ):

$xml = 'http://www.warriorplus.com/wso/rss/';

//получаем содержимое RSS лент в виде одной строки
$xml = @file_get_contents($xml);
// а это чтобы убить все, что имеет кодировку отличную от UTF-8
$xml = iconv ("windows-1251", "utf-8",$xml);
// производим парсинг
$xml = simplexml_load_string($xml);
// тестируем
print_r ($xml);

Занавес 🍿

Всего: 80