Как на Delphi получить статистику с вордстата яндекса

Пост короткий и несет пользу только новичкам, собирающимся писать парсеры на делфи, и тем, кто не осилил скачивание страниц с вордстата.

Конечно парсеров итак немало существует, но всегда бывает так, что есть общие задачи, которые можно решить распространенными методами, а есть узкие задачи, для которых иногда проще написать все своё. Я столкнулся с такой. Начал писать влоб, а он вместо того, чтобы выдать статистику запросов, выдает капчу.

Так, что пришлось чуть напрячься.

Дело в том, что на странице вордстата есть фрейм, и поэтому нам надо сначала активировать его. Однако фрейм дает куки, так, что придется прикрутить и куки. Кроме того, фрейм дает редирект, а значит придется и какую-никакую обработку приделать.

В Делфи есть удобный компонент. IDHTTP (вкладка INDI CLIENTS, пиктограмма в форме Земли), всегда использую его для парсинга, одного его достаточно для большинства задач на скачивание страниц. Однако не для всех.
Поэтому берем еще компонент IdCookieManager (Indy Misc, третья кнопка). Этот компонент дает поддержку кук почти без каких либо усилий. Разве что в нашем idhttp в свойстве CookieManager надо выбрать соответствующий объект.
Еще в объекте idhttp есть свойство HandleRedirects, по умолчанию оно выключено, включаем его, оно позволяет автоматически обрабатывать редирект, что не только при парсе вордстата, но и на многих других сайтах бывает необходимо.

Все, теперь в самом начале обращаемся к фрейму (‘http://kiks.yandex.ru/su/’), а потом просто скачиваем странички по get запросу (только пробелы в запросе заменить на плюсики не забудьте) к вордстату.
Остается собственно распарсить и работать с полученной инфой.


Автор: Elsper.ru


VN:F [1.9.14_1148]
Rating: 0.0/10 (0 votes cast)

6 thoughts on “Как на Delphi получить статистику с вордстата яндекса

  1. По поводу твоей просьбы. С хорошими показателями кредит в Вебмани взять проще простого. У меня 20 нет и не было за раз на кошельке никогда, думаю у большинства так же. Все на балансах партнерок и бирж. За одну ночь заказать вывод и вывести — нереально. А тот у кого такая сумма просто так болтается на кошельке — просто балбес. Деньги должны работать.

  2. Почему же Delphi?
    Переучиваетесь на десктопное программирование?:)

  3. В конце июня случились некоторые события, выбившие меня из колеи.
    А когда я все же вернулся к делам был уже уверенный июль, и я решил так и оставить до конца месяца.

    ФС будет. О жизненном посте все еще думаю.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Спoнcopcкиe ссылки