1. 程式人生 > >怎麼在知乎上爬取那些有趣並且有營養的問題?

怎麼在知乎上爬取那些有趣並且有營養的問題?

我是個知乎粉,簡直超級迷這款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秒

下面這個是原始碼的地址,我把它放在碼雲下面了