位置: 编程技术 - 正文

Python 爬虫模拟登陆知乎(python爬虫模拟浏览器)

编辑:rootadmin

推荐整理分享Python 爬虫模拟登陆知乎(python爬虫模拟浏览器),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python爬虫模拟搜索数据下载,python爬虫模拟点击JavaScript,python爬虫模拟浏览器,Python 爬虫模拟登录,python爬虫模拟点击,python爬虫模拟点击,Python爬虫模拟浏览器向服务器发送请求,Python爬虫模拟浏览器向服务器发送请求,内容如对您有帮助,希望把文章链接给更多的朋友!

在之前写过一篇使用python爬虫爬取电影天堂资源的文章,重点是如何解析页面和提高爬虫的效率。由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了一下python模拟登陆,网上关于这部分的资料很多,很多demo都是登陆知乎的,原因是知乎的登陆比较简单,只需要post几个参数,保存cookie。而且还没有进行加密,很适合用来做教学。我也是是新手,一点点的摸索终于成功登陆上了知乎。就通过这篇文章分享一下学习这部分的心得,希望对那些和我一样的初学者有所帮助。

  先来说一下,爬虫模拟登陆的基本原理吧,我也是刚开始接触对于一些深层次的东西也不是掌握的很清楚。首先比较重要的一个概念就是cookie,我们都知道HTTP是一种无状态的协议,也就是说当一个浏览器客户端向服务器提交一个request,服务器回应一个response后,他们之间的联系就中断了。这样就导致了这个客户端在向服务器发送请求时,服务器无法判别这两个客户端是不是一个了。这样肯定是不行的。这时cookie的作用就体现出来了。当客户端向服务器发送一个请求后,服务器会给它分配一个标识(cookie),并保存到客户端本地,当下次该客户端再次发送请求时连带着cookie一并发送给服务器,服务器一看到cookie,啊原来是你呀,这是你的东西,拿走吧。所以一个爬虫模拟登陆就是要要做到模拟一个浏览器客户端的行为,首先将你的基本登录信息发送给指定的url,服务器验证成功后会返回一个cookie,我们就利用这个cookie进行后续的爬取工作就行了。

   我这里抓包用的就是chrome的开发者工具,不过你也可以使用Fiddler、Firebug等都可以,只不过作为一名前端er对chrome有一种特殊的喜爱之情。准备好工具接下来就要打开知乎的登陆页面并查看 我们可以很容易发现这个请求 发送的就是登录信息,当然我使用手机登陆的 用邮件登陆的是最后结尾是email

所以我们只需要向这个地址post数据就行了

Python 爬虫模拟登陆知乎(python爬虫模拟浏览器)

phone_num 登录名password 密码captcha_type 验证码类型(这个参数着这里并没有实质作用)rember_me 记住密码

_xsrf 一个隐藏的表单元素 知乎用来防御CSRF的(关于CSRF请打开这里) 我发现这个值是固定所以就在这里直接写死了 若果有兴趣的同学可以写一个正则表达式 把这部分的值提取出来 这样更严谨一些。

当你看到服务器返回这个信息的时候就说明你登陆成功了

然后你就可以用这个身份去抓取知乎上的页面了

这段代码就是通过实例化一个opener对象保存成功登陆后的cookie信息,然后再通过这个opener带着这个cookie去访问服务器上关于这个身份的完整页面。更复杂的比如微博的登陆这种对请求的数据进行加密了的后面有时间再写出来,与大家分享

使用Python多线程爬虫爬取电影天堂资源 最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址,代码已经上传到GitHub上了,需要的同学可以自行

利用Python为iOS生成图标和截屏 简介这两天更新完Xcode8之后发现Xcode对图标的要求又有了变化,之前用的一个小应用IconKit还没赶上节奏,已经不能满足Xcode8的要求了。于是就想起来用Py

Linux 下 Python 实现按任意键退出的实现方法 某天在群内有同学问到,在python下我用input或者raw_input都得输入完后回车才能获取到输入的值,那如何实现任意键退出暂停等功能呢,我当时也没有多想

标签: python爬虫模拟浏览器

本文链接地址:https://www.jiuchutong.com/biancheng/384485.html 转载请保留说明!

上一篇:python 自动化将markdown文件转成html文件的方法(python自动化源码)

下一篇:使用Python多线程爬虫爬取电影天堂资源(python 多线程)

  • 公共电话亭是否应该被拆除
  • 母子公司固定资产交易
  • 存货的领用
  • 增值税专用发票可以开电子发票吗
  • 进口转卖业务
  • 来料加工企业的人工工资计入什么费用
  • 预支备用金填请款单还是借支单
  • 股东退股可以支付现金吗
  • 工程承建方给予的工期奖励如何做账?
  • 个人负担社保
  • 最新工程施工会计处理流程
  • 简易注销还要去找专管员
  • 个体工商户如何给员工交社保
  • 建筑业在外地预缴的所得税能退吗
  • 充值单据怎么开发票
  • 季度所得税报表怎么填
  • 无形资产怎么衡量
  • 预付账款收不到发票怎么冲账
  • 代订住宿费属于那个经营范围
  • 残保金每年什么时候申报缴纳
  • 个人接受捐赠要开发票吗
  • 王者荣耀中孙膑是男的女的
  • 购入固定资产预算会计怎么做账务处理
  • 公司注销帐上的钱取出来要交税吗
  • 使用php进行mysql数据库编程的基本步骤
  • 公司账户上的钱怎么转到老板账户上
  • 收到银行存款利息会计分录
  • 酒店加盟管理费多少
  • php写一个简单的单例模式
  • RTX 4090深度学习性能实测奉上!模型训练可提升60~80%
  • 重置java
  • php怎么调用图片
  • 住宿专票可以抵增值税吗
  • 罚款是否需要开证明
  • 存货跌价准备确认损失
  • 新准则下担保企业有哪些
  • 公司名下商品房过户给公司需要交过户费
  • 房地产城建税计税依据
  • 企业年度报告填报时间
  • 应收账款期初余额在借方还是贷方
  • 车辆处置如何缴纳企业所得税
  • 借款收回的会计科目
  • 收入分成的账务处理
  • 小规模纳税人增值税专用发票税率
  • 长期挂账其他应付款违反了哪项制度
  • 背书转让的电子汇票怎么查询
  • 坏账准备的核算公式
  • 短期借款不超过几年
  • 专项补助资金的账务处理
  • 应交税费进项税额转出是什么意思
  • 产品出库检验报告单格式
  • 其他应收款待抵扣借方是什么意思啊
  • 算账的意思是什么?
  • mysql 临时表
  • win10音量调节不显示
  • linux 更新系统
  • windows8的word在哪里
  • 查看linux的命令
  • win8在哪里看安装的所有程序
  • 淘宝下载电脑
  • win7系统无法安装
  • Unity3D游戏开发培训课程大纲
  • 基于android的app
  • windows批处理命令教程
  • js移动元素位置
  • node js入门
  • sqlserver 服务器
  • javascript怎么设置字体大小
  • js新开一个窗口
  • jquery教程 csdn
  • html微信
  • python写出来的程序怎么用
  • 基于unity的游戏开发
  • 详解中国女足出线形势
  • 新疆省国税局
  • 荆州市税务局现任名单
  • 云南省新农合网上缴费app
  • 国家税务总局吕梁市税务局官网
  • 晋江电视
  • 企业自有房屋需要交税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设