【爬虫案例】用Python爬取知乎热榜数据!
一、爬取目标
您好,我是@马哥python说,一名10年程序猿。
本次爬取的目标是【知乎热榜】:https://www.zhihu.com/hot

共爬取到6个字段,包含:
热榜排名, 热榜标题, 热榜链接, 热度值, 回答数, 热榜描述。
用Chrome浏览器,右键打开开发者模式,选择:网络->XHR这个选项,重新点击一下【热榜】按钮,或者切换到【视频】页再切换回【热榜】页。 操作过程,如下图所示:

下面,开始编码爬虫代码。
二、编写爬虫代码
首先,导入需要用到的库:
定义一个请求地址,即上图中的目标链接地址:
定义一个请求头,从开发者模式中的Headers->Request Headers中复制下来:
不知如何获取Cookie?参考下图:

向目标地址发送请求(带上请求头),并用json格式接收返回数据:
定义一些空列表,用于存储数据:
以“热榜标题”为例,解析数据:
其他字段同理,不再赘述。
最后,把解析到的数据,存储到Dataframe中,并保存到csv文件里:
这里需要注意的是,to_csv要加上encoding='utf_8_sig'参数,防止保存到csv文件产生乱码数据。
查看爬取结果:

共50条数据,对应热榜TOP50排名。
每条数据含6个字段:热榜排名, 热榜标题, 热榜链接, 热度值, 回答数, 热榜描述。
三、同步视频
3.1 代码演示视频

3.2 详细讲解视频

四、获取完整源码
爱学习的小伙伴,本次分析过程的完整python源码及结果数据,我已打包好,并上传至我的微信公众号"老男孩的平凡之路",后台回复"爬知乎热榜"即可获取!

我是@马哥python说 ,持续分享python源码干货中!

