前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【安排】23行代码爬取知乎全部回答(内附源码和应用程序)

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

作者头像
行哥玩Python
发布2020-07-14 16:29:51
1.6K0
发布2020-07-14 16:29:51
举报
文章被收录于专栏:一行数据一行数据

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

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

两个字:安排!

1.代码逻辑

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

什么是知乎问题号?

  • 查看知乎网页地址,question后的一串数字就是问题号
代码语言:javascript
复制
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,修改问题号和选择保存路径,就可以将该知乎问题下的所有回答保存到当前路径下,如下图所示

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一行数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.代码逻辑
  • 2.应用程序版本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档