python scrapy简单模拟登录的代码怎么写
发表于:2025-11-18 作者:千家信息网编辑
千家信息网最后更新 2025年11月18日,今天小编给大家分享一下python scrapy简单模拟登录的代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有
千家信息网最后更新 2025年11月18日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()))知识点扩展:
parse_login方法是提交完表单后callback回调函数指定要执行的方法,为了验证是否成功。这里我们直接在response中搜索Welcome Liu这个字眼就证明登录成功。
这个好理解,重点是yield from super().start_resquests(),这个代表着如果一旦登录成功后,就直接带着登录成功后Cookie值,方法start_urls里面的地址。
这样的话登录成功后的response可以直接在parse里面写。
# -*- coding: utf-8 -*-import scrapyfrom scrapy import FormRequest,Requestclass ExampleLoginSpider(scrapy.Spider): name = "login_" allowed_domains = ["example.webscraping.com"] start_urls = ["http://example.webscraping.com/user/profile"] login_url = "http://example.webscraping.com/places/default/user/login" def parse(self, response): print(response.text) def start_requests(self): yield scrapy.Request(self.login_url,callback=self.login) def login(self,response): formdata = { "email":"liushuo@webscraping.com","password":"12345678"} yield FormRequest.from_response(response,formdata=formdata, callback=self.parse_login) def parse_login(self,response): # print(">>>>>>>>"+response.text) if "Welcome Liu" in response.text: yield from super().start_requests()以上就是"python scrapy简单模拟登录的代码怎么写"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
登录
成功
知识
篇文章
方法
代码
内容
知识点
utf-8
存储
验证
不同
很大
这样的话
代表
函数
地址
大部分
字眼
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云服务器拓展内存
商业银行数据库管理实践 迟鲲
华为服务器硬盘质保
成都手机app软件开发公司
如何往数据库中添加表
党外干部队伍数据库
有关网络安全作文
网络安全模式可以登录qq么
软件开发团队人员人数配置
数据中心服务器配置的标准
淘宝大数据库
写游戏数据库
银行网络安全工程
广州互联网医院软件开发公司
ios平台软件开发培训
青少年与网络安全即兴评述
p图数据库
中电科网络安全
奇安信网络安全培训ppt
忠诚保大庆网络安全培训
天津服务器磁盘阵列卡电池
网络安全主题绘画作品 简单版
江苏5g服务器机柜供应商
ibm 服务器机柜
安卓应用软件开发贵吗
鸿橙网络技术有限公司怎么样
ftp服务器空间
如何创建数据库临时表空间
贵州数据网络安全工程费用
软件c和服务器d有什么区别