【安排】23行代碼爬取知乎全部回答(內附源碼和應用程序)

上個月行哥爲了給大家推薦書單,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,修改問題號和選擇保存路徑,就可以將該知乎問題下的所有回答保存到當前路徑下,如下圖所示

  • 本篇完整代碼和exe應用程序關注行哥的公衆號【一行數據】回覆【一行03】就可以領取了哦
    後臺關注.png
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章