在写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