Lomoson
@Lomoson

Как парсить выдачу yandex?

Раньше в yandex xml результаты совпадали с результатами выдачи, но сейчас на процентов 90% не совпадают. А узнать на какой сайт позиции нужно.
Пробую парсить через CURL, но очень быстро банятся прокси.

$options = array(
					CURLOPT_RETURNTRANSFER => true,
					CURLOPT_HEADER         => true,
					CURLOPT_FOLLOWLOCATION => true,
					CURLOPT_USERAGENT      => getUserAgent(),					
					CURLOPT_AUTOREFERER    => true,
					CURLOPT_CONNECTTIMEOUT => 120,
					CURLOPT_TIMEOUT        => 120,
					CURLOPT_MAXREDIRS      => 10,
					CURLOPT_SSL_VERIFYPEER => false,
					CURLOPT_INTERFACE	   => $ip,
					CURLOPT_COOKIEJAR	   => $user_cookie_file,
					CURLOPT_COOKIEFILE	   => $user_cookie_file
				);

				$url = "http://yandex.ua/yandsearch?rdrnd=653666&text=%D0%96%D0%B8%D1%80%D0%B0%D1%84&lr=143";
				$ch      = curl_init( $url );
				curl_setopt_array( $ch, $options );
				$page = curl_exec( $ch );


Подскажите, пожалуйста, как можно профиксить?

_______________________________________________________

Мегауточнение:

Если lr=225, то все гуд, выдача совпадает, но если lr=187, то все просто ужасно ((
  • Вопрос задан
  • 7711 просмотров
Пригласить эксперта
Ответы на вопрос 6
Если говорить про разбор HTML кода яндекса и определение позиций, то вот код скрипта на php - https://blog.ivru.net/?id=185
Ответ написан
Комментировать
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
В yandex xml куча настроек, естественно там не будет автоматически таких же как при обычном поиске. Позиция вещь относительная и зависит от пользователя, региона и т.д.
Так что подберите в yandex xml самые подходящие параметры и пользуйтесь им.
Ответ написан
Подтверждаю, xml от яндекса не работает. Настройки менял (и регион ставил мой), но результат не просто чуть-чуть не совпадает он в xml адски ужасен и не релевантен. Выход - запастись прокси и менять их через каждые 10-20 запросов (именно столько у меня яндекс давал сделать до блокировки). Можете ещё авторизоваться - шансы что успеете сделать больше запросов возрастут.
Ответ написан
@ugodrus
Сам одно время пробовал парсить результат выдачи яндекса. Поверьте моему опыту - парсить живой (не xml) результат поиска - сломанный костыль. Часто меняются элементы разметки и бан идёт регулярный, хотя я пользовался сокетами и имитировал браузер на 100%. После 2х месяцев геморроя сам прикрыл лавочку.
Мой совет - ковыряйте XML выдачу.
Ответ написан
Комментировать
@RJs45
У меня на yandex xml парсер позиций работает уже полтора года без изменения настроек/кода. Погрешность - до 3-х позиций. Для проекта это не критично.
Ответ написан
Dimitriys
@Dimitriys
он вам выдают капчу с проверкой что вы робот ... заполните ее используя сервисы по распознования капчей ... 20-30 рублей за 1к капчей ....
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы