废话不多说,有空再闲聊。这(只)是一篇技术贴。
如何用十行代码备份一个知乎问题下的(所有)回答。
已经备份好的前600回答: https://pan.baidu.com/s/1jHFOQWY
Step1 安装zhihu-oauth库
直接在命令行中使用命令“pip install zhihu-oauth”安装即可。
Step2 初次登录,并保存token文件
from zhihu_oauth import ZhihuClient
from zhihu_oauth.exception import NeedCaptchaException
client = ZhihuClient()
try:
client.login('email or phone', 'password')
except NeedCaptchaException: # 保存验证码并提示输入,重新登录
with open('a.gif', 'wb') as f:
f.write(client.get_captcha())
captcha = input('please input captcha:')
client.login('email or phone', 'password', captcha)
client.save_token('token.pkl')
Step3 十行代码,保存回答
知乎新增了访问限制,在600个答案左右会要求手动输入验证码
from zhihu_oauth import ZhihuClient
import zhihu_oauth
client = ZhihuClient()
client.load_token('token.pkl')
#client.set_proxy('')
ques = client.question(68546899)
print(ques.title)
answers = ques.answersfor answer in ques.answers:
print(answer.author.name)
answer.save(ques.title)
暂时没太好的解决办法。试着加了代理池,没什么效果。所以先存了前600回答。
Step -1
顺手的事情,做个词云。名字就叫,救救孩子。
大家按需自取,尽早备份。