无法使用Python请求检索网页的HTML内容
问题描述:
尝试从网站获取内容:www.arrow.com但我的程序被冻结。我根本找不到任何回应。无法使用Python请求检索网页的HTML内容
我已经使用了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)
答
你并不需要在所有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)