在写scrapy时,发送请求中的cookie要求是字典格式。
class transCookie:
def __init__(self, cookie):
self.cookie = cookie
def stringToDict(self):
'''
将从浏览器上Copy来的cookie字符串转化为Scrapy能使用的Dict
:return:
'''
cookies = dict([l.split("=", 1) for l in cookie.split("; ")])
return cookies
if __name__ == "__main__":
cookie ="浏览器中复制过来的cookies"
trans = transCookie(cookie)
print(trans.stringToDict())
可以在scrapy中间件中设置请求时携带,这样就不必在写spider时每次都携带了:
将cookies添加到在settings.py中,COOKIE =="复制过来的cookie字典"
from scrapy.conf import settings
在下载中间件的
def process_request(request, spider):
request.cookies=settings['COOKIE']
return None
同时,在settings设置
COOKIES_ENABLED=True
博客介绍了Scrapy中发送请求时cookie的使用方法。需将从浏览器复制的cookie字符串转换为字典格式,提供了转换代码。还说明了可在Scrapy中间件中设置请求携带cookie,避免在写spider时每次都携带,同时要在settings中开启COOKIES_ENABLED。
1万+

被折叠的 条评论
为什么被折叠?



