欢迎光临散文网 会员登陆 & 注册

【爬虫案例】用Python爬取知乎热榜数据!

2023-07-14 10:01 作者:马哥python说  | 我要投稿

一、爬取目标

您好,我是@马哥python说,一名10年程序猿。 

本次爬取的目标是【知乎热榜】:https://www.zhihu.com/hot

知乎热榜页面

共爬取到6个字段,包含:

热榜排名, 热榜标题, 热榜链接, 热度值, 回答数, 热榜描述。

用Chrome浏览器,右键打开开发者模式,选择:网络->XHR这个选项,重新点击一下【热榜】按钮,或者切换到【视频】页再切换回【热榜】页。 操作过程,如下图所示:

开发者模式分析

下面,开始编码爬虫代码。

二、编写爬虫代码

首先,导入需要用到的库:

定义一个请求地址,即上图中的目标链接地址:

定义一个请求头,从开发者模式中的Headers->Request Headers中复制下来:

不知如何获取Cookie?参考下图:

获取Cookie方法

向目标地址发送请求(带上请求头),并用json格式接收返回数据:

定义一些空列表,用于存储数据:

以“热榜标题”为例,解析数据:

其他字段同理,不再赘述。

最后,把解析到的数据,存储到Dataframe中,并保存到csv文件里:

这里需要注意的是,to_csv要加上encoding='utf_8_sig'参数,防止保存到csv文件产生乱码数据。 

查看爬取结果:

爬取结果

共50条数据,对应热榜TOP50排名。 

每条数据含6个字段:热榜排名, 热榜标题, 热榜链接, 热度值, 回答数, 热榜描述

三、同步视频

3.1 代码演示视频

3.2 详细讲解视频


四、获取完整源码

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


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


【爬虫案例】用Python爬取知乎热榜数据!的评论 (共 条)

分享到微博请遵守国家法律