[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: CURL, получение данных со страницы
motorway
Привет.
С помощью функции file_get_contents некоторые страницы сайта, с которого производится парсинг, отображаются неверно - типа у вас старая версия браузера. Есть ли возможность получить нормально все данные с помощью CURL, сделав эмуляцию браузера? Нужен полный аналог этой функции, только чтобы все было ОК.
P.S. Задача немного изменилась, нужно программно войти на заданный сайт. Кто может помочь?



Спустя 34 минуты, 34 секунды (25.12.2010 - 22:25) ИНСИ написал(а):
motorway ты бы хоть сказал куда подключиться, что забрать и т.д.... А по теме, то можно еще и fsockopen юзать smile.gif

Спустя 18 минут, 4 секунды (25.12.2010 - 22:43) motorway написал(а):
Сайт Фриланс http://free-lance.ru. Войти под заданным логином и паролем, чтобы можно получать данные с любых страниц.
Спасибо

Спустя 19 минут, 18 секунд (25.12.2010 - 23:02) ИНСИ написал(а):
motorway как пример, можешь посмотреть мои варианты, но там я вытаскивал контакты из почты, но принцип тот-же..

http://phpforum.ru/index.php?showtopic=35942&hl=%EF%EE%F7%F2

Спустя 8 минут, 7 секунд (25.12.2010 - 23:11) motorway написал(а):
Спасибо, конечно, только вот в CURL я очень не силен. Будет трудновато...

Спустя 9 минут, 36 секунд (25.12.2010 - 23:20) ИНСИ написал(а):
motorway если очень надо, то в разделе Проекты, выложи суть скрипта который нужен и цену, которую готов отдать.

Либо сам начини писать, выкладывай сюда и мы поможем ...

Спустя 58 минут, 22 секунды (26.12.2010 - 00:18) webmonkey написал(а):
Вот пример для входа на free-lance.ru, дальше по примеру пишите.

// Адрес обработчика, в данном случае - это индексная страница
$url = 'http://www.free-lance.ru/';
// Я не бот, а Google Chrome
$agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13';
// Посылаемые параметры
$data = 'login=Yourloginhere&passwd=Yourpasswordhere&autologin=1';
$init = curl_init();

curl_setopt($init, CURLOPT_URL, $url);
curl_setopt($init, CURLOPT_HEADER, 1);
curl_setopt($init, CURLOPT_POST, 1);
curl_setopt($init, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($init, CURLOPT_USERAGENT, $agent);
curl_setopt($init, CURLOPT_POSTFIELDS, $data);

$request = curl_exec($init);

if(!$init)
die(curl_error($init) .'('. curl_errno($init) .')');

curl_close($init);

Спустя 7 минут, 30 секунд (26.12.2010 - 00:26) motorway написал(а):
webmonkey,
большое спасибо, а не подскажете, как теперь перейти на другую страницу, с которой взять данные надо?
Пробую просто добавить дальше file_get_contents, но так получается как без входа.

Спустя 23 минуты, 31 секунда (26.12.2010 - 00:50) webmonkey написал(а):
motorway,
В вышеприведенном коде $request будет содержать код страницы (в данном случае - free-lance.ru/). Так что, парсить можно из $request.

Спустя 4 минуты, 24 секунды (26.12.2010 - 00:54) motorway написал(а):
Пробую, выдает мне:
HTTP/1.1 302 Moved Temporarily Server: nginx Date: Sat, 25 Dec 2010 21:53:53 GMT Content-Type: text/html Content-Length: 154 Connection: keep-alive Location: http://www.free-lance.ru/users/...
302 Found
nginx

Спустя 20 часов, 13 минут, 7 секунд (26.12.2010 - 21:07) motorway написал(а):
Ну что, кто-нибудь может подсказать? Могу пока перечислить только 0.5 FM на упомянутом сайте, если нужно...

Спустя 1 день, 21 час, 45 минут, 40 секунд (28.12.2010 - 18:53) Invis1ble написал(а):
motorway
ИМХО, после входа на сайт под своим логином и паролем, в ответе сервера скорее всего есть некая доп. инфа (куки например). Тебе надо ее взять и заходить на другие страницы, посылая эти куки в заголовках - тогда ты будешь идентифицироваться системой как авторизированный юзер..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.