怎麼在知乎上爬取那些有趣並且有營養的問題?
我是個知乎粉,簡直超級迷這款APP,在上面花費了好多時間,可以看好多有趣的問題,也能從中學習到好多有用的東西。
但有時候還是不過癮,所以突發奇想,我想把我喜歡的問題的答案爬下來。
下面我把我的探索過程分享給大家,侵權即刪!:
1.首先我是登陸的PC 端,仔細分析了頁面,然後我發現了個 url很像返回的資料介面,我選取得是這個
url='https://www.zhihu.com/api/v4/questions/295553454/answers'
引數是:
'include':'data[*].is_normal,admin_closed_comment,reward_info,is_collapsed,annotation_action,annotation_detail,collapse_reason,is_sticky,collapsed_by,suggest_edit,comment_count,can_comment,content,editable_content,voteup_count,reshipment_settings,comment_permission,created_time,updated_time,review_info,relevant_info,question,excerpt,relationship.is_authorized,is_author,voting,is_thanked,is_nothelp;data[*].mark_infos[*].url;data[*].author.follower_count,badge[*].topics',
'limit':5,
'offset':5,
'sort_by':'default'
請求方式是 get
我用了 python3 的 requests 庫來幫助我作這件事,然後再把它轉換成字典型別
注意因為知乎返回的東西里面有的不是 gbk 格式的,直接用open 函式會報錯UnicodeEncodeError
我用的是另一個 codec.open函式,
另外每次請求我都會讓執行緒睡了3秒
下面這個是原始碼的地址,我把它放在碼雲下面了