【安排】23行代码爬取知乎全部回答(内附源码和应用程序)

简介: 上个月行哥为了给大家推荐书单,1分钟爬取了知乎5646个回答,并统计出前十名推荐量最高的书单给大家分享,并且为了大家使用方便将该篇推文中的代码转成应用程序给大家使用,但是万万没想到居然有小伙伴要求能不能直接让爬虫代码回答爬取下来做成应用程序

上个月行哥为了给大家推荐书单,1分钟爬取了知乎5646个回答,并统计出前十名推荐量最高的书单给大家分享,并且为了大家使用方便将该篇推文中的代码转成应用程序给大家使用,但是万万没想到

居然有小伙伴要求能不能直接让爬虫代码回答爬取下来做成应用程序

两个字:安排!

1.代码逻辑

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

什么是知乎问题号?

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

image.png

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



相关文章
|
数据采集 机器学习/深度学习 数据可视化
分享68个Python爬虫源码总有一个是你想要的
分享68个Python爬虫源码总有一个是你想要的
731 0
|
数据可视化
mac环境下graphviz安装及使用
mac环境下graphviz安装及使用
3985 0
mac环境下graphviz安装及使用
|
8月前
|
XML Java 数据格式
HUTOOL-Word生成-Word07Writer
HUTOOL-Word生成-Word07Writer
|
监控 Ubuntu 数据可视化
如何使用各种工具和命令来检查 Ubuntu 中的 CPU 使用情况?
如何使用各种工具和命令来检查 Ubuntu 中的 CPU 使用情况?
3837 0
如何使用各种工具和命令来检查 Ubuntu 中的 CPU 使用情况?
|
消息中间件 缓存 Java
高性能电商返利APP架构设计与实现
高性能电商返利APP架构设计与实现
|
Shell Docker 容器
|
存储 前端开发 JavaScript
ACEeditor使用手册(二)
ACEeditor使用手册(二)
699 0
|
Linux 定位技术 Python
python--使用cnmaps绘制省界地图(快速上手,简单有效)
cnmaps是一个致力于让中国地图的获取和使用更丝滑的python扩展包。
python--使用cnmaps绘制省界地图(快速上手,简单有效)
|
机器学习/深度学习 资源调度 并行计算
经典机器学习系列(一)【 贝叶斯分类、 最大似然估计、 最大后验概率估计】
经典机器学习系列(一)【 贝叶斯分类、 最大似然估计、 最大后验概率估计】
436 0
|
监控 前端开发 PHP
PHP短信验证码防刷方案
短信验证码是通过发送验证码到手机的一种有效的验证码系统。利用短信验证码来注册会员,大大降低了非法注册的数据。
PHP短信验证码防刷方案