【2023知乎爬虫】知友怎么看待《罗刹海市》?爬了上千条知乎回答!
您好,我是@马哥python说,一枚10年程序猿。
一、爬取目标
之前我分享过一篇知乎评论的爬虫教程:
(相关资料图)
但是学习群中的小伙伴强烈要求爬取知乎回答,所以本次分享知乎回答的爬虫。
二、展示爬取结果
老规矩,先展示结果。
最近《罗刹海市》这首歌比较火,就爬这个问题下的回答吧:如何评价刀郎的新歌《罗刹海市》?
爬取了前200多页,每页5条数据,共1000多条回答。(程序设置的自动判断结束页,我是手动break的)共爬到13个字段,包含:问题id,页码,答主昵称,答主性别,答主粉丝数,答主主页,答主签名,回答id,回答时间,评论数,点赞数,喜欢数,回答内容。
三、讲解代码
分析页面
我是通过知乎的ajax接口爬的。打开一个知乎问题,Chrome浏览器按F12进入开发者模式之后,多往下翻几页回答,就会找到目标请求地址,如下:
每翻一次页,就会出现一个请求,请求中含5条回答数据。
开发爬虫
首先,导入需要用到的库:
定义一个请求头:
这里,我仅设置了user-agent足矣。(如果数据量仍未满足且遇到反爬,请尝试增加cookie等其他请求头解决)
定义请求地址(含指定问题id):
发送请求,并接收数据:
定义一些空列表用于存放解析后数据:
以"回答内容"字段为例:
其他字段同理,不再赘述。
把数据保存为Dataframe并进一步保存到csv文件:
保存到csv时加上encoding='utf_8_sig'参数,防止产生乱码问题。
至此,核心代码逻辑讲解完毕。完整代码还包括:转换时间格式、转换性别、正则表达式清洗回答内容、循环内判断结束页等功能,详见文末获取。
代码中,question_id换成任意知乎问题id,即可爬取该问题的对应回答。
四、同步视频
代码演示视频:
五、获取完整源码
爱学习的小伙伴,本次分析过程的完整python源码及结果数据,我已打包好,并上传至我的微信公众号"老男孩的平凡之路",后台回复"爬知乎回答"即可获取!
我是@马哥python说 ,持续分享python源码干货中!
关键词:
上一篇:相约大运 成就梦想丨钱天一/刘丁硕战胜队友赢得乒乓球混双冠军
下一篇:最后一页
广告
X 关闭
X 关闭
-
京张高铁每日开行17对冬奥列车
京张高铁每日开行17对冬奥列车 预计冬奥服务保障期运送运动员、技术官员、持票观众等20万人次 2月6日,2022北京新闻中心举行“北
-
北京冬奥会开幕式上 小学生朱德恩深情演绎《我和我的祖国》
北京冬奥会开幕式上 小学生朱德恩深情演绎《我和我的祖国》 9岁小号手苦练悬臂吹响颂歌 2月4日晚,在北京冬奥会开幕式上,9岁的
-
2022北京冬奥会开幕式这19首乐曲串烧不简单
多名指挥家列曲目单 再由作曲家重新编曲 本报专访冬奥开幕式音乐总监赵麟 开幕式这19首乐曲串烧不简单 “二十四节气”倒计时、
-
“一墩难求” 冰墩墩引爆购买潮
设计师:没想到冰墩墩成爆款一墩难求冰墩墩引爆购买潮 北京冬奥组委:会源源不断供货北京冬奥会吉祥物冰墩墩近日引爆购买潮,导致一墩难求