您好,登錄后才能下訂單哦!
這篇文章主要介紹了python怎么爬取知乎5646個(gè)知乎回答,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
這里是核心代碼展示,主要就是將知乎的問(wèn)題號(hào)作為參數(shù)傳入函數(shù),然后進(jìn)行批量爬取回答,使用正則表達(dá)式將每個(gè)回答里包含書(shū)名號(hào)的書(shū)籍名或者電影名提取出來(lái),最后在保存的csv即可。
def getAnswers(qid):
# 獲取所有書(shū)籍和回答數(shù)據(jù)
offset = 0
book_data = {}
while True:
qid = qid
print('Offset =', offset)
# 知乎api請(qǐng)求
url = "https://www.zhihu.com/api/v4/questions/{}/answers?include=content&limit=20&offset={}&platform=desktop&sort_by=default".format(
qid, offset)
res = requests.get(url, headers=headers)
res.encoding = 'utf-8'
data = res.json()
if len(data['data']) == 0:
break
for line in data['data']:
# 保存回答數(shù)據(jù)
content = line['content']
result = re.findall(r'《(.*?)》', content)
for name in result:
book_data[name] = book_data.get(name, 0) + 1
offset += 20
# 保存爬取的內(nèi)容
for i in book_data.keys():
new_data = {}
if i:
new_data['書(shū)籍名稱(chēng)'] = i
new_data['頻率'] = book_data[i]
pandas_data.append(new_data)
df2 = pd.DataFrame(pandas_data, columns=['書(shū)籍名稱(chēng)', '頻率'])
df2.to_csv("book.csv",encoding="utf_8_sig")
5464個(gè)回答一共推薦了6434本書(shū),其中《活著》共被推薦了286次。
行哥不禁感嘆,這些年薪百萬(wàn)的大佬居然也要考慮跟行哥一樣的問(wèn)題-活著,看來(lái)離年薪百萬(wàn)更近一步了啦。不知道你距離年薪百萬(wàn)還差幾本書(shū)如果前十的書(shū)都看過(guò)了,看看這前11-20的書(shū)單,這都看過(guò)的可以來(lái)文末直接查看領(lǐng)取6343本書(shū)的書(shū)單。這些書(shū)經(jīng)過(guò)行哥確認(rèn),完全都可以在微信閱讀上免費(fèi)閱讀,所以也不用擔(dān)心找不到pdf版本。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python怎么爬取知乎5646個(gè)知乎回答”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。