2015-11-01 3 views
2

Я пишу webcrawler, используя Python и наслаждаясь этим много! Но я заметил некоторые различия между результатом, полученным от urlopen(url).read() на Python и curl на терминале. Я пробовал install the pycurl module без успеха. Есть ли простой способ получить результат CURL на Python?Python: urlopen() по сравнению с CURL

ОБНОВЛЕНИЕ

В этом случае я разобран this URL. Я передал те же заголовки по обоим запросам User-Agent: Mozilla/5.0. Вот выходы: выход

+0

какие различия - пожалуйста, напишите оба выхода за небольшую страницу – amdixon

+0

** Curl: ** http://pastebin.com/PmmNhsbb ** Python: ** http://pastebin.com/7Wrt8pQZ – bodruk

+0

мне нужно захватить элементы с помощью класса 'hproduct'. Он находится на версии cURL, но не на версии Plopon urlopen. – bodruk

ответ

1

Я знаю, что это старый вопрос, но, возможно, ответ может быть еще полезен.

У меня была такая же проблема, и я решил ее создать, создав файл php, который печатал заголовки запросов. Затем я выполнил curl и urlopen, и я проверил различия между заголовками. Вы можете найти пример этого скрипта в PHP docs.

Кроме того, вы можете перейти в ваш браузер и проверить, какие заголовки отправляются. Сделав это, я увидел, что urlopen отправляет connection: close вместо keep-alive.

Итак, я добавлю заголовок keep-alive, а urlopen начал работать как curl. Это была моя конкретная проблема, но, возможно, у вас разные из-за требований к серверу, и вам нужно добавить или удалить другой заголовок.

+0

Спасибо за ваш курятник! :) – bodruk

+0

вы добро пожаловать! –

Смежные вопросы