![]() |
Парсинг страницы с редиректом (PHP)
Здравствуйте.
Мне тут дали такое задание: С сайта elibrary.ru нужно сдёрнуть список с фамилиями сотрудников универа, а затем сделать по ним поиск на сайте самого вуза и в итоге собрать по ним суммарную инфу. Все конечно можно вручную сделать, всего то около 100 человек :) Но что-то, меня, как немного ленивому айтишнику, такая перспектива не устраивает. С учетом, что собранную статистику после еще обновлять скорей всего придется и думаю не раз. По этому и решил сразу написать скрипт по автоматизации этого дела. Парсинг самих страниц и поиск по найденному уже почти сделал. Но парсинг первого сайта пока работает только по уже скаченным вручную страницам, заставить его самого их качать ни как не получается. Пробовал получить страницу через curl PHP код:
Цитата:
Вообще данные которые мне нужны находятся тут... А вот как их от туда вытащить не знаю, с учетом, что на страницу методом POST еще нужно параметры передавать. Буду очень признателен, за оказанную помощь ;) |
Сам нашел причину.
Кукис нужно сохранить PHP код:
Сниффером перехватил запрос, который передается при нажатии кнопки Поиска. И попробовал его также передать... но толку ни какого. PHP код:
|
Да, там бесконечный редирект. Вроде бы если не шлются кукисы, или неправильные кукисы.
Цитата:
Сам пост-запрос можно отловить в браузере (каким-нть livehttpheaders в FF), или посмотреть хтмл формы (атрибуты name контролов) см. CURLOPT_POST и CURLOPT_POSTFIELDS |
Все заработало. Оказалось, что если указывать не верный идентификатор браузера, форма не возвращается.
указан был фаерфокс, а я тестил через хром и ИЕ6. Поставил USERAGENT Интернет Эксплорера 6го и в нем все заработало. В итоге просто закоментил указание USERAGENT и все заработало в обоих браузерах. Вот конечный вариант функции для пост запроса через прокси: PHP код:
|
Время: 18:41. |
Время: 18:41.
© OSzone.net 2001-