Python网络爬虫案例实战:静态网页爬取:定制请求头
3.7定制请求头
请求头 Headers提供了关于请求、响应或其他发送实体的信息。对于爬虫而言,请求头十分重要,尽管在上一个例子中并没有制定请求头。如果没有指定请求头或请求的请求头与实际网页不一致,就可能无法返回正确的结果。
Requests并不会基于定制的请求头 Headers的具体情况改变自己的行为,只是在最后的请求中,所有的请求头信息都会被传递进去。
在 Requests 中可以通过r.headers获取响应头内容。例如:
>>> r.headers
{
'Server': 'nginx', 'Date': 'Fri, 09 Aug 2024 11:49:26 GMT', 'Content-Type': 'text/html', 'Content-Length': '813', 'Connection': 'keep-alive'}
由结果可以看到是以字典的形式返回了全部内容,也可以访问部分内容。例如:
>>> r.headers['Content-Type']
'text/html'
>>> r.headers.get('content-type')
'text/html'
而请求头内容可以用r.request.headers来获取。例如:
>>> r.request.headers
{
'User-Agent': 'python-requests/2.31.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}