如何使用python爬取知乎全部回答

小编给大家分享一下如何使用python爬取知乎全部回答,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!


1.代码逻辑

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

什么是知乎问题号?

  • 查看知乎网页地址,question后的一串数字就是问题号    

    如何使用python爬取知乎全部回答

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修改问题号和选择保存路径,就可以将该知乎问题下的所有回答保存到当前路径下,如下图所示

如何使用python爬取知乎全部回答

如何使用python爬取知乎全部回答

以上是“如何使用python爬取知乎全部回答”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程之家行业资讯频道!

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...