码迷,mamicode.com
首页 > 其他好文 > 详细

scrapy基础知识之 使用FormRequest.from_response()方法模拟用户登录:

时间:2017-06-09 12:36:41      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:imp   login   抓取   登录   url   方法   function   数据   callback   

通常网站通过 实现对某些表单字段(如数据或是登录界面中的认证令牌等)的预填充

使用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()方法模拟用户登录:

标签:imp   login   抓取   登录   url   方法   function   数据   callback   

原文地址:http://www.cnblogs.com/huwei934/p/6971337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!