爬虫之scrapy登录

scrapy登录有两种方式,一个是直接加cookie,一个是走一遍登录的流程,常用的肯定是走登录流程了。

走登录流程时,一般都是post请求,在scrapy中post请求有两种方式,第一种

    #重写start_request请求
    def start_requests(self) -> Iterable[Request]:
        url = "https://www.xxx.com/user/login"
        username = 'xxx'
        pswd = 'xxxx'
        yield scrapy.Request(url=url,body=f'loginName={username}&password={pswd}',    callback=self.parse())
#成功登录后自动携带cookie。

这种写法中的body与平时把data写进字典中不同,需要拼接,不太方便,所以我常用第二种

    #同样的需要重写start_request
    def start_requests(self) -> Iterable[Request]:
        url = 'https://www.xxxx.com/user/login'
        formdata = {
            'loginName': 'xxx',
            'password': 'xxx'
        }


        }
        yield scrapy.FormRequest(url=url, formdata=formdata,callback=self.parse)

这种写法是用scrapy中的FormRequest请求,这种请求默认就是post请求,把data以字典的格式放入formdata中就可以了。

登陆流程都知道,只是记录一下scrapy中好用的post请求方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值