位置: 编程技术 - 正文

python爬虫入门教程--利用requests构建知乎API(三)(python爬虫全套教程)

编辑:rootadmin

推荐整理分享python爬虫入门教程--利用requests构建知乎API(三)(python爬虫全套教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python爬虫:入门+进阶,python爬虫教程,python爬虫自学系列,python爬虫教程,python爬虫:入门+进阶,python爬虫快速入门,python爬虫教程,python爬虫入门教程非常详细,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

在爬虫系列文章 优雅的HTTP库requests 中介绍了 requests 的使用方式,这一次我们用 requests 构建一个知乎 API,功能包括:私信发送、文章点赞、用户关注等,因为任何涉及用户操作的功能都需要登录后才操作,所以在阅读这篇文章前建议先了解Python模拟知乎登录 。现在假设你已经知道如何用 requests 模拟知乎登录了。

思路分析

发送私信的过程就是浏览器向服务器发送一个 HTTP 请求,请求报文包括请求 URL、请求头 Header、还有请求体 Body,只要把这些信息弄清楚,那么就很容易用 requests 来模拟浏览器发送私信了。

打开 Chrome 浏览器,随便找一个用户,点击发送私信,追踪一下私信的网络请求过程。

先看下请求头信息

请求头 Header 中有 cookies 登录信息,此外还有一个 authorization 字段,该字段是用于用户认证的,同时这个字段也存在 cookies 中(为了防止 cookie 信息泄露,我打了马赛克), requests 请求时这些信息都必须携带上。

再来看看请求的URL和请求体

请求URL是 ,请求方法是 POST,请求体

请求体是一个 json 字符串,type 和 content 很好理解,但 receiver_hash 是什么并不知道,需要进一步确定,不过你应该猜得出这是类似于用户 id 的字段。

那么现在问题来了,如何通过用户主页的URL找到用户的 id 呢?为了完整的模拟私信的整个流程,我特地注册了一个知乎小号。

如果你手头没有多余的手机号,可以用 Google 搜「receive sms online」,网上很多提供免费在线接收短信的手机号码,我注册的小号主页: HTTP 网络请求。

python爬虫入门教程--利用requests构建知乎API(三)(python爬虫全套教程)

请求 url 是 ,这个URL的后面部分「xiaoxiaodouzi」对应小号主页URL的后面部分,这部分我们称之为 url_token。

接口的返回数据是该用户的个人公开信息。

我们可以很清楚的看到有个id的字段,跟我们之前猜测的一样,私信里面的 receiver_hash 字段就是用户的id。

代码实现

到此我们把私信功能的思路理清楚了,代码实现就是水到渠成的事情了。

用户信息

为了得到私信接口需要的 receiver_hash 字典,我们先要获取用户信息,该信息里面含有用于的id值。

发送私信

上面两个方法放在一个叫Zhihu的类里面,我只列出了关键代码,涉及到的 @need_login 是一个用户认证的装饰器,表示该方法需要登录后才能操作。细心的你可能发现,每个请求中我并没有显示地指定 Header 字段,那时因为我把它放在 __init__.py 方法中初始化了。

调用执行

执行完成后,小号成功收到我发送的私信。

最后,我们可以按照类似的思路把关注用户,点赞等功能实现了。

源码地址:

在线下载:

python win 简单操作方法 源由刚开始是帮朋友做一个按键精灵操作旺信的脚本,写完后各种不稳定;后来看到python可以操作win相关的api,恰好这一段时间正在学习python,感觉练

Python wincom 操作Exce的l简单方法(必看) 实例如下:fromwincom.clientimportDispatchimportwincom.clientclasseasyExcel:"""AutilitytomakeiteasiertogetatExcel.Rememberingtosavethedataisyourproblem,asiserrorhandling.Operatesononeworkbooka

python爬虫入门教程--HTML文本的解析库BeautifulSoup(四) 前言python爬虫系列文章的第3篇介绍了网络请求库神器Requests,请求把数据返回来之后就要提取目标数据,不同的网站返回的内容通常有多种不同的格式

标签: python爬虫全套教程

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

上一篇:Tensorflow简单验证码识别应用(tensorflow.nn)

下一篇:python win32 简单操作方法(python win32print)

  • 股东个人财产转让协议
  • 航天金税财务软件使用说明
  • 研发费用加计扣除是什么意思啊
  • 增值税专票开户行
  • 报送会计报表
  • 合同负债属于负债吗
  • 城镇土地使用税的征税范围有哪些
  • 收到项目投资款账务处理
  • 准予抵扣的进项税范围
  • 分公司如何缴纳企业所得税
  • 银行结汇汇兑损益的会计分录怎么写?
  • 收入跨期调整是否调增值税
  • 路桥年费税额抵扣账务处理怎么做?
  • 退休人员基本养老金调整幅度需要综合考虑什么因素
  • 贷款的印花税税率
  • 一般纳税人出售固定资产税率
  • 房产订金是否缴纳土地增值税?
  • 目前建筑里面税金总共包括几部分
  • 增值税普票怎么验证真伪
  • 营改增后,代扣代缴所得税应当按照含税收入还是不含税收入?
  • 促销活动赠品应如何账务处理
  • 查账征收的成本费用
  • 房产评估增值部门有哪些
  • 企业税收分为几大类
  • 小规模固定资产一次性扣除
  • 防伪税控技术维护费怎么申报
  • 冲减增值税进项税怎么处理
  • 计提工资和发放工资区别
  • 发票上没有校验码
  • 如何更改windows11显示语言
  • 比较常见的病有哪些
  • 个人投资额是什么意思
  • php imagick
  • yii2中dropDownList实现二级和三级联动写法
  • 免税是政府补助吗
  • php分页思路
  • 小微企业减免额怎么计算
  • 待抵扣进项税额的分录
  • python统计出现次数并排序
  • 未确认融资费用摊销额怎么计算
  • 差旅费适用税率
  • c#连接access数据库实例
  • mysql使用工具
  • 应收账款和应付账款可以对冲吗
  • 企业所得税和个人所得税怎么算
  • 结转损益主营业务收入在借方
  • 应收账款无法收回会计分录
  • 某企业福利部门
  • 建筑企业城建税和教育费附加怎么算
  • 外购商品用于促销能抵扣吗
  • 专利权转让的条件
  • 销项发票怎么导出的是压缩包怎么打开
  • 制造费用就是制造成本吗
  • 股东参与经营可以退股吗
  • 公司注销记账凭证还有用吗
  • 哪些资产减值可以转回哪些不可转回
  • mysql 5.7.17 winx64安装配置教程
  • 如何配置samba配置文件
  • whSurvey.exe - whSurvey进程是什么意思
  • win8怎么一开机就进入桌面
  • os x yosemite10.10.4beta2更新了哪些内容 os x yosemite性能增强和bug修复以及下载
  • mozilla是啥
  • 在linux系统中
  • win10系统笔记本怎么连接wifi
  • javascript的区别
  • 怎么做小地图图片呢
  • nodejs与springboot结合
  • ubuntu sudo apt-get install
  • python的linux
  • linux系统怎么搭建服务器
  • vue devtools功能
  • scrollbottom用法
  • jquery easyUI中ajax异步校验用户名
  • 税务登记没去登记会怎么处罚
  • 工会经费计提比例0.8%
  • 汽车购置税退税需要多长时间
  • 稽查局是税务局的派出机构还是内设机构
  • 申请小规模纳税人公司需要多久
  • 竣工交付的资产有哪几种
  • 南京市车位产权证办理流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设