上个月行哥为了给大家推荐书单,1分钟爬取了知乎5646个回答,并统计出前十名推荐量最高的书单给大家分享,并且为了大家使用方便将该篇推文中的代码转成应用程序给大家使用,但是万万没想到
居然有小伙伴要求能不能直接让爬虫代码回答爬取下来做成应用程序
两个字:安排!
1.代码逻辑
这个核心代码是直接对上篇推文中使用的代码进行修改,删去了对书籍名称的提取,添加了爬取内容的写入文件,小伙伴只要把getAnswers(问题号)里的传入参数改成想爬取回答的问题号,剩下的事情就只需要等待了
什么是知乎问题号?
查看知乎网页地址,question后的一串数字就是问题号
def getAnswers(qid): offset = 0 num = 1 f = open("知乎回答%s.txt" % qid, "a") while True: qid = qid print('Offset =', offset) # 知乎api请求 data = getAnser(qid, offset) print(data) if len(data['data']) == 0: break for line in data['data']: # 保存回答数据 content = line['content'] pattern = re.compile(r'<[^>]+>', re.S) result = pattern.sub('', content) print(result) f.write("\n【第%d个回答】" % num) num += 1 f.write(result) offset += 20 time.sleep(1) f.close() getAnswers(62096167)
2.应用程序版本
对于不了解爬虫的小伙伴,只需要打开一行数据爬取知乎回答.exe,修改问题号和选择保存路径,就可以将该知乎问题下的所有回答保存到当前路径下,如下图所示