python scrapy简单模拟登录的代码怎么写
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天小编给大家分享一下python scrapy简单模拟登录的代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网科技有限公司经营范围
互联网科技金融
科技与互联网发展
互联网 科技创新
天津摩尔互联网科技
壕鑫互联网络科技
易通互联网络科技有限公司
睿民互联网科技
掌上梦互联网科技
互联网科技博客
成都狮子座互联网科技
新华互联网科技校企合作
玖二柒互联网科技公司待遇
央行互联网金融科技公司
顶级互联网科技成果有哪些
重庆威客帮互联网科技
坤平互联网科技
中国互联网十大科技股排名
科技类公司包括互联网吗
智帮互联网科技公司最近动向
金诺互联网科技
奇酷互联网科技公司
互联网科技公司介绍
华中科技有哪些互联网大佬
西藏七维空间互联网科技有限公司
哈尔滨新华互联网科技学院
互联网科技创新服务
移动互联网年度科技创新
想开互联网科技公司怎么样
优雇互联网科技有限公司