这篇文章分享之前我还是要推荐下我自己的python学习交流群:643692991,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份2017最新的python资料和零基础入门教程,欢迎初学和进阶中的小伙伴。
前期准备
python2.7
html2text
markdownpad(这里随意,只要可以支持md就行)
会抓包。。。。。
原理
原理说起来很简单:获取请求到的内容的body部分,然后重新构建一个html文件,接着利用html2text这个模块将其转换为markdown文件,最后对图片及标题按照markdown的格式做一些处理就好了。目前应用的场景主要是在知乎。
获取知乎答案
写代码的时候,主要考虑了两种使用场景。第一,获取某一特定答案的数据然后进行转换;第二,获取某一个问题的所有答案进行然后挨个进行转换,在这里可以 通过赞同数来对要获取的答案进行质量控制。
某一个特定答案的数据获取
这一数据的获取我这里分为了两个部分,第一部分请求上述网址,拿到答案主体数据以及赞同数,第二部分请求下面这个接口:
这个接口得到的答案正文数据不是完整数据,所以只能分两步了。
这一个数据就可以通过很简单的方式得到了,接口如下:
返回的都是json数据,很方便获取。但是这里有一个地方需要注意,从这里面取的答案正文数据就是文本数据,不是一个完整的html文件,所以需要在构造一下。
保存的字段
author_name 回答用户名
answer_id 答案id
question_id 问题id
question_title 问题
vote_up_count 赞同数
create_time 创建时间
答案主体
主脚本:
解析函数脚本:
测试结果展示