第一步

 

代码执行位置:浏览器开发者工具Console中

打开个人主页的“回答”标签页,如我的地址为:https://www.zhihu.com/people/yxzlwz/answers

打开后此页面后,启动开发者工具,将代码目录下的getAllAnswers.js文件的内容复制Console中,然后回车执行。

该脚本会逐页访问你的所有回答,并导出一份包含问题标题和回答URL的zhihu_data.json。将该文件保存到项目根目录。

小提示:执行脚本前可根据自己网速情况设置SleepSecond参数,网速较慢或不稳定者建议设置>10,鉴于知乎API性能问题不建议设置<5。

第二步

 

(请自行安装依赖:pip install selenium beautifulsoup4,同时配置好Chrome Driver,可参考这篇文章

修改getAnswer.py中的参数:

  • 必填项为_cookies,你需要在登录后访问任意知乎界面,从Network选项卡中找到时间最早的请求,并将请求头中的Cookie字段的值完整复制到此处。
  • use_optimize选项为是否启用优化。启用后脚本会处理一些已知的MarkDown转换过程中可能导致的问题,但也有可能导致部分MarkDown内容的丢失。
  • sleep_seconds为两次请求之间的等待时间。根据本人测试,连续请求逾千条回答,4s可保证账号和IP安全。

程序会缓存请求到的HTML文件,这意味着你可以在一次运行后再调整是否启用优化,而不必再漫长等待从知乎请求数据。

确认无误后运行 python getAnswer.py

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。