1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Яндекс xml

Тема в разделе "Web Coding", создана пользователем ar4ik, 6 дек 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. ar4ik

    ar4ik

    Регистр.:
    26 ноя 2007
    Сообщения:
    331
    Симпатии:
    95
    Думаю в этот раздел больше всего подходит.
    Пишу скрипт для парсинга выдачи Яндекс XML. Он мне пихает постоянно украинскую выдачу, хотя я никаких параметров дополнительных не задавал. Через обычную форму все в порядке.
    Может быть у кого есть опыт работы с Яндекс xml.
    Какие есть идеи для нормализации выдачи?
     
  2. terkin

    terkin

    Регистр.:
    9 дек 2006
    Сообщения:
    513
    Симпатии:
    162
    Наверно у тебя украинский IP и он автоматом подсовывает тебе выдачу, решение - юзать проксик
     
  3. ar4ik

    ar4ik

    Регистр.:
    26 ноя 2007
    Сообщения:
    331
    Симпатии:
    95
    почему тогда через обычный поиск нет такого
    таргетирования?
     
  4. terkin

    terkin

    Регистр.:
    9 дек 2006
    Сообщения:
    513
    Симпатии:
    162
    А ты в инет ходиш с того же IP что и скрипт запускаеш?
     
  5. ar4ik

    ar4ik

    Регистр.:
    26 ноя 2007
    Сообщения:
    331
    Симпатии:
    95
    Да. Скрипт локально запускаю.
     
  6. Sergy30

    Sergy30 Прохожие

    скрипт то ты запускаешь локально но выходит он в инет с твоего ip который принадлежит региону.......................:D
     
  7. ar4ik

    ar4ik

    Регистр.:
    26 ноя 2007
    Сообщения:
    331
    Симпатии:
    95
    Я за это и говорю. Через форму поиска - все нормально, через xml - украинская выдача. Залил скрипт на хостинг выдача так же отличается. Странно.
     
  8. Karlasan

    Karlasan Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    75
    Симпатии:
    153
    В браузер он тебе тоже выдает в украинской кодировке, только браузер распознает строку
    в коде страницы или в хедере и соответствующим образом настраивает отображение вывода.
    Выход - юзать библиотеку iconv и одноименную функцию для перекодировки: http://ru2.php.net/manual/ru/function.iconv.php
    Если iconv недоступна - придется самому писать функцию для перекодировки.
     
  9. ar4ik

    ar4ik

    Регистр.:
    26 ноя 2007
    Сообщения:
    331
    Симпатии:
    95
    Вы не так поняли. Под выдачей я имел ввиду список сайтов в результате поиска, а не кодировку. Вопрос актуален и по сегодня.:bc:
     
  10. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    Так в чем вопрос?

    1) Посмотри, какой запрос шлет бровзер твоему яндексу, и воспроизведи в скрипте такой же - все хидеры, куки, короче слово в слово. Поскольку ты выполняешься на том же хосте, с тем же ip, то и выдача в итоге будет 100% совпадать.

    Полагаю, тут дело именно в куке, которую яша когда-то давно поставил твоему бровзеру и все никак не поставит скрипту..


    2) Заведи логин на яндексе, залезь там в настройки, выбери страну, город и т.п. - и потом грабь xml из-под этого логина. Способ не лучше первого, но возможно проще - надо будет сначала ломиться на login за сессией и потом этот sessid передавать при каждом запросе, при этом на остальные хидеры можно будет забить.
     
Статус темы:
Закрыта.