scrapy基础知识之 使用FormRequest.from_response()方法模拟用户登录:
Posted hcw_19
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy基础知识之 使用FormRequest.from_response()方法模拟用户登录:相关的知识,希望对你有一定的参考价值。
通常网站通过 实现对某些表单字段(如数据或是登录界面中的认证令牌等)的预填充
使用Scrapy抓取网页时,如果想要预填充或重写像用户名、用户密码这些表单字段, 可以使用 FormRequest.from_response() 方法实现。
下面是使用这种方法的爬虫例子:
import scrapy
class LoginSpider(scrapy.Spider):
name = ‘example.com‘
start_urls = [‘http://www.example.com/users/login.php‘]
def parse(self, response):
return scrapy.FormRequest.from_response(
response,
formdata={‘username‘: ‘john‘, ‘password‘: ‘secret‘},
callback=self.after_login
)
def after_login(self, response):
# check login succeed before going on
if "authentication failed" in response.body:
self.log("Login failed", level=log.ERROR)
return
以上是关于scrapy基础知识之 使用FormRequest.from_response()方法模拟用户登录:的主要内容,如果未能解决你的问题,请参考以下文章
Python爬虫之Scrapy框架系列(17)——实战某代码托管平台登录FormRequest类