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入门8:发送POST请求

scrapy基础知识之发送POST请求:

Python爬虫之Scrapy框架系列(17)——实战某代码托管平台登录FormRequest类

Scrapy:FormRequest 不会自动填充 ASP.net 隐藏字段

Scrapy的FormRequest没有给出结果

scrapy formRequest 表单提交