23行python代码爬取知乎全部回答

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:一行数据

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python学习交流群,点击即可加入本群

代码逻辑

这个核心代码是直接对上篇推文中使用的代码进行修改,删去了对书籍名称的提取,添加了爬取内容的写入文件,小伙伴只要把getAnswers(问题号)里的传入参数改成想爬取回答的问题号,剩下的事情就只需要等待了

什么是知乎问题号?

  • 查看知乎网页地址,question后的一串数字就是问题号
    23行python代码爬取知乎全部回答_第1张图片
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)

23行python代码爬取知乎全部回答_第2张图片

你可能感兴趣的:(Python爬虫)