我是个知乎粉,简直超级迷这款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秒
下面这个是源码的地址,我把它放在码云下面了
https://gitee.com/coder_xiaozhao/zhihu_spider.git