scrapy中的headers,Resquest,response

本文详细解析了Scrapy爬虫中请求头的作用及设置方法,包括关键参数如User-Agent、Cookie等的使用技巧,以及如何创建Request对象并自定义请求头,通过实例展示了如何获取请求头和响应头的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.为了让程序请求模仿的更像浏览器,需要在headers请求头上添加一些参数

2.headers请求头的部分重要参数:
Host (主机和端口号)
Connection (链接类型)
Upgrade-Insecure-Requests (升级为HTTPS请求)
User-Agent (浏览器名称)
Accept (传输文件类型)
Referer (页面跳转处)
Accept-Encoding(文件编解码格式)
Cookie (Cookie)
x-requested-with :XMLHttpRequest (是Ajax 异步请求)


3.# 请求一个url,创建了一个Request对象
scrapy.Resquest(
url,
callback=xxx,
headers=xxx
)


3.scrapy的Resquest对象具有的实例属性
这些参数为None时(创建Request对象未传入),会使用配置中默认的参数
def __init__(self, url, callback=None, method='GET', headers=None, body=None,
cookies=None, meta=None, encoding='utf-8', priority=0,
dont_filter=False, errback=None, flags=None):
1.headers为None时采用默认的请求头信息
默认的请求头信息在配置文件中(可以在这里打开注释修改请求头,也可以在创建Request对象时传入headers,形式为键值对
但是headers不能定义cookie)
#DEFAULT_REQUEST_HEADERS = {
# 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
# 'Accept-Language': 'en',
#}
在请求中传入headers
scrapy.Request(
self.start_urls[0],
callback=self.parse,
headers={xx:xx,xx:xx} # 这些参数会和默认请求头的参数进行合并,然后请求时带上合并后的请求头
)

4.获取请求头和响应头的参数(参数名不确定时可以打开浏览器开发者工具查看)
# 获取请求头
response.request.headers.getlist(参数名)
# 获取响应头
response.headers.getlist(参数名)

5.response响应对象
response.url:当前响应的url地址
response.request.url:当前响应对应的请求的url地址
response.headers:响应头
response.body:响应体,也就是html代码,默认是byte类型
response.requests.headers:当前响应的请求头

 

转载于:https://www.cnblogs.com/lmygbl/p/10124620.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值