Python爬虫:scrapy管理服务器返回的cookie
2023-09-27 14:24:15 时间
1、使用cookie
settings.py启用
COOKIES_ENABLED=True # 启用cookie
COOKIES_DEBUG=True # 显示发送和接受的cookie
2、使用自定义cookie
如果要使用登录验证的cookie,那么可以这样
for url in self.start_urls:
yield scrapy.Request(url, cookies={"username": "pengshiyu"})
3、删除服务器端返回的cookie
有一种情况:服务器端每次都重新写入一个cookie记录你的访问次数,我不希望将这个cookie带入下一个请求
我们知道,服务器端返回的cookie,可以通过以下语句获取
response.headers.get('Set-Cookie')
这里的headers看起来很像一个字典,那么直接移除试试
response.headers.pop('Set-Cookie')
理论上应该是可行的,不过我暂时没有成功
scrapy中处理cookie的中间件优先级是700
'scrapy.downloadermiddlewares.cookies.CookiesMiddleware': 700,
处理请求cookie
的中间件应该在其之前执行,优先级应该低于700
处理响应cookie
的中间件应该在其之后执行,优先级应该高于700
4、忽略服务器返回的所有cookie
scrapy中,单个spider使用的是一个cookie session,如果单spider使用多cookie session,这样,让每个request请求都是独立的,不就可以忽略服务器再次返回的所有cookie了吗?
默认情况下使用一个cookiejar(session),不过可以传递一个标示符来使用多个。
例如:
def start_requests(self):
for i, url in enumerate(urls):
yield Request(url, meta={'cookiejar': i},
callback=self.parse_page)
# 在之后的request请求中接着传递
def parse_page(self, response):
# do some processing
return Request("http://www.example.com/otherpage",
meta={'cookiejar': response.meta['cookiejar']},
callback=self.parse_other_page)
相关文章
- Python爬虫 selenium自动化 利用搜狗搜索爬取微信公众号文章信息
- 如何利用pytesseract库识别图形验证码 【python爬虫入门进阶】(15)
- 【Python开发】【神经网络与深度学习】如何利用Python写简单网络爬虫
- python中的拉链函数:zip()、zip(*)
- 10个高效的Python爬虫框架
- Python scrapy爬虫数据保存到MySQL数据库
- Selenium + PhantomJS + python 简单实现爬虫的功能
- Python爬虫之自制英汉字典
- Python爬虫:scrapy-splash的请求头和代理参数设置
- Python爬虫:Scrapy的get请求和post请求
- Python爬虫:Scrapy中runspider和crawl的区别
- Python爬虫:scrapy爬虫设置随机访问时间间隔
- Python爬虫:scrapy利用splash爬取动态网页
- Python爬虫:scrapy爬取腾讯社招职位信息
- Python爬虫:关于scrapy模块的请求头
- Python爬虫:scrapy中间件及一些参数
- python 爬虫系列03--职位爬虫
- 你不能错过的【Python爬虫】测试3(爬取所有内容 + 完整源代码 + 架构 + 结果)
- Python 线程与进程
- 【Python爬虫5】提取JS动态网页数据
- 第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容
- Python 保存爬行动物捕捉网页
- Python小白爬虫(三) _使用BeautifulSoup4框架获取页面中我们想要的数据(案例)
- python爬虫:获取电影信息~