referer:https://www.cnblogs.com/why957/p/9297779.html文章介绍了四种模拟登陆方法
yield Request()可以将一个新的请求返回给爬虫执行
在发送请求时cookie的操作, meta={'cookiejar':1}表示开启cookie记录,首次请求时写在Request()里 meta={'cookiejar':response.meta['cookiejar']}表示使用上一次response的cookie,写在FormRequest.from_response()里post授权 meta={'cookiejar':True}表示使用授权后的cookie访问需要登录查看的页面
def start_requests(self):
yield scrapy.Request(url="http://www.renren.com/", meta={'cookiejar': 1}, callback=self.post_login)
def post_login(self, response):
yield scrapy.FormRequest.from_response(response,
url="http://www.renren.com/PLogin.do",
meta={'cookiejar': response.meta['cookiejar']},
# 在之前需要打开 meta = {'cookiejar' : 1}
headers=self.headers,
formdata={
"email": " ",
"password": " "
},
dont_filter=True, callback=self.after_login)