无法使用Python请求检索网页的html内容

时间:2017-10-05 10:14:12

标签: curl python-requests wget

尝试从网站获取内容:www.arrow.com但我的程序冻结了。我根本无法找回任何回复。

我使用过curl,wget和同样的问题。我明白了:

<head><title>Document Moved</title></head>
<body><h1>Object Moved</h1>This document may be found <a HREF="https://www.arrow.com/en/products/search/">here</a></body>

我确实使用POSTMAN获得了响应,我意识到响应是用gzip编码的。在网站上,很多人建议添加一些标题来解决这个问题,但到目前为止我还没有成功。

import requests
url = 'http://www.arrow.com/en/products/search/'
params = {'q': 'ISOW7841FDWER'}
headers = {
        'Accept-Encoding': "gzip,x-gzip,deflate,sdch,compress",
        'Accept-Content': 'gzip',
        'HTTP-Connection': 'keep-alive',
        'Accept-Language': "en-US,en;q=0.8",
    }
r = requests.get(url, params=params, headers=headers)
print(r.url)
print(r.text)

1 个答案:

答案 0 :(得分:1)

您不需要在headers中拥有所有这些项目,但您确实需要欺骗用户代理,否则网站不会做出响应。

import requests

url = 'https://www.arrow.com/en/products/search'
params = {'q': 'ISOW7841FDWER'}
headers = {'User-Agent': 'Mozilla/5'}
r = requests.get(url, params=params, headers=headers)
print(r.url)
print(r.text)