千家信息网

python中scrapy如何模拟登录

发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,小编给大家分享一下python中scrapy如何模拟登录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、requests
千家信息网最后更新 2025年01月26日python中scrapy如何模拟登录

小编给大家分享一下python中scrapy如何模拟登录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1、requests模块。直接携带cookies请求页面。

找到url,发送post请求存储cookie。

2、selenium(浏览器自动处理cookie)。

找到相应的input标签,输入文本,点击登录。

3、scrapy直接带cookies。

找到url,发送post请求存储cookie。

# -*- coding: utf-8 -*-import scrapyimport re class GithubLoginSpider(scrapy.Spider):    name = 'github_login'    allowed_domains = ['github.com']    start_urls = ['https://github.com/login']     def parse(self, response): # 发送Post请求获取Cookies        authenticity_token = response.xpath('//input[@name="authenticity_token"]/@value').extract_first()        utf8 = response.xpath('//input[@name="utf8"]/@value').extract_first()        commit = response.xpath('//input[@name="commit"]/@value').extract_first()        form_data = {            'login': 'pengjunlee@163.com',            'password': '123456',            'webauthn-support': 'supported',            'authenticity_token': authenticity_token,            'utf8': utf8,            'commit': commit}        yield scrapy.FormRequest("https://github.com/session", formdata=form_data, callback=self.after_login)     def after_login(self, response): # 验证是否请求成功        print(re.findall('Learn Git and GitHub without any code!', response.body.decode()))

以上是"python中scrapy如何模拟登录"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0