苏生不惑出品:2024 批量下载知乎回答,文章和想法,导出 excel 和 pdf

苏生不惑第488 篇原创文章,加入我的知识星球

去年发过文章2023 更新版:苏生不惑开发过的那些原创工具和脚本,今天用web scraper抓取知乎数据,然后批量下载知乎回答,文章和想法,导出excel和pdf 。

如何安装web scraper浏览器扩展见我之前文章2023 年还有人不会用油猴脚本神器?手把手教你 ,推荐使用谷歌或者edge浏览器,安装扩展后打开知乎网站右键检查切换到web scraper就可以用了。

批量下载知乎回答和文章以 kvxjr369f 这个号为例,import sitemap导入以下代码,注意如果抓取其他号要修改下知乎链接和page页数。

go 复制代码
{"_id":"zhihu_answer2","startUrl":["https://www.zhihu.com/people/kvxjr369f/answers?page=[1-170]"],"selectors":[{"id":"row2","multiple":true,"parentSelectors":["_root"],"selector":"div.List-item","type":"SelectorElement"},{"id":"知乎问题标题","multiple":false,"parentSelectors":["row2"],"regex":"","selector":"[itemprop='zhihu:question'] a[data-za-detail-view-element_name]","type":"SelectorText"},{"extractAttribute":"href","id":"知乎问题链接","multiple":false,"parentSelectors":["row2"],"selector":"[itemprop='zhihu:question'] a[data-za-detail-view-element_name]","type":"SelectorElementAttribute"},{"id":"知乎赞同数","multiple":false,"parentSelectors":["row2"],"regex":"\\d+","selector":"button.VoteButton--up","type":"SelectorText"},{"id":"知乎评论数","multiple":false,"parentSelectors":["row2"],"regex":"\\d+","selector":"button.ContentItem-action:nth-of-type(1)","type":"SelectorText"}]}

选择导入的脚本直接scrape,之后浏览器会自动新开浏览器抓取。我录制了个简单的视频。

抓取完成后export data,可以选择excel和csv格式。

导出的excel数据包含所有知乎回答问题标题,链接,赞同数和评论数。

共3000多个回答。

按赞同数对所有回答排个序,不过981会排在9801前面,因为这些数字被识别为文本而不是数值,可以新建一列赞同数使用 VALUE 函数将文本转换为数值 =VALUE(E2), 然后下拉拖动填充到单元格,再对新的列进行排序,回答赞数排名前10的回答:

go 复制代码
https://www.zhihu.com/question/518747432/answer/2366512885
https://www.zhihu.com/question/389889237/answer/1340483247
https://www.zhihu.com/question/67266406/answer/1214233663
https://www.zhihu.com/question/264373660/answer/1710187984
https://www.zhihu.com/question/587776721/answer/2924669605
https://www.zhihu.com/question/442077295/answer/1708505224
https://www.zhihu.com/question/28296314/answer/1486320041
https://www.zhihu.com/question/349923819/answer/1357923844
https://www.zhihu.com/question/267170674/answer/448696808
https://www.zhihu.com/question/20887129/answer/2274353390

之后对excel里的回答链接批量下载(这个自己研究下),效果如图:

下载生成回答html,文件名为回答日期加标题,再转换pdf。

最后将所有回答pdf合成一个pdf文件,大小近300MB,网盘地址 https://pan.quark.cn/s/8522433ad346 ,点击左侧书签可跳转到对应回答。

知乎文章批量下载也是一样的,导入以下代码抓取(以下为付费内容):

相关推荐
Grey Zeng4 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白6 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
excel6 小时前
ES6 中函数的双重调用方式:fn() 与 fn\...``
前端
可乐爱宅着6 小时前
全栈框架next.js入手指南
前端·next.js
你的人类朋友8 小时前
什么是API签名?
前端·后端·安全
会豪10 小时前
Electron-Vite (一)快速构建桌面应用
前端
中微子10 小时前
React 执行阶段与渲染机制详解(基于 React 18+ 官方文档)
前端
唐某人丶10 小时前
教你如何用 JS 实现 Agent 系统(2)—— 开发 ReAct 版本的“深度搜索”
前端·人工智能·aigc
中微子10 小时前
深入剖析 useState产生的 setState的完整执行流程
前端
架构师沉默10 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构