Luzuk
15-03-2012, 18:48
Здравствуйте.
Мне тут дали такое задание:
С сайта elibrary.ru нужно сдёрнуть список с фамилиями сотрудников универа, а затем сделать по ним поиск на сайте самого вуза и в итоге собрать по ним суммарную инфу.
Все конечно можно вручную сделать, всего то около 100 человек :)
Но что-то, меня, как немного ленивому айтишнику, такая перспектива не устраивает. С учетом, что собранную статистику после еще обновлять скорей всего придется и думаю не раз. По этому и решил сразу написать скрипт по автоматизации этого дела.
Парсинг самих страниц и поиск по найденному уже почти сделал.
Но парсинг первого сайта пока работает только по уже скаченным вручную страницам, заставить его самого их качать ни как не получается.
Пробовал получить страницу через curl
// 1. инициализация
$ch = curl_init();
// 2. указываем параметры, включая url
curl_setopt($ch, CURLOPT_URL, "http://elibrary.ru/defaultx.asp");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, 'х.х.х.х:3128');
curl_setopt($ch, CURLOPT_PROXYUSERPWD,'ххххх:ххххх');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
//curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
// 3. получаем HTML в качестве результата
echo curl_exec($ch);
А в результате получаю: cURL Error: Maximum (20) redirects followed
Как я понял это из-за того что страница пытается получить сессию, и редиректиться из-за этого все время между главной страницей и страницей старта сессии.
Вообще данные которые мне нужны находятся тут... (http://elibrary.ru/authors.asp)
А вот как их от туда вытащить не знаю, с учетом, что на страницу методом POST еще нужно параметры передавать.
Буду очень признателен, за оказанную помощь ;)
Мне тут дали такое задание:
С сайта elibrary.ru нужно сдёрнуть список с фамилиями сотрудников универа, а затем сделать по ним поиск на сайте самого вуза и в итоге собрать по ним суммарную инфу.
Все конечно можно вручную сделать, всего то около 100 человек :)
Но что-то, меня, как немного ленивому айтишнику, такая перспектива не устраивает. С учетом, что собранную статистику после еще обновлять скорей всего придется и думаю не раз. По этому и решил сразу написать скрипт по автоматизации этого дела.
Парсинг самих страниц и поиск по найденному уже почти сделал.
Но парсинг первого сайта пока работает только по уже скаченным вручную страницам, заставить его самого их качать ни как не получается.
Пробовал получить страницу через curl
// 1. инициализация
$ch = curl_init();
// 2. указываем параметры, включая url
curl_setopt($ch, CURLOPT_URL, "http://elibrary.ru/defaultx.asp");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, 'х.х.х.х:3128');
curl_setopt($ch, CURLOPT_PROXYUSERPWD,'ххххх:ххххх');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
//curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
// 3. получаем HTML в качестве результата
echo curl_exec($ch);
А в результате получаю: cURL Error: Maximum (20) redirects followed
Как я понял это из-за того что страница пытается получить сессию, и редиректиться из-за этого все время между главной страницей и страницей старта сессии.
Вообще данные которые мне нужны находятся тут... (http://elibrary.ru/authors.asp)
А вот как их от туда вытащить не знаю, с учетом, что на страницу методом POST еще нужно параметры передавать.
Буду очень признателен, за оказанную помощь ;)