准备阶段
从Python的官方网站python.org下载python3.5,运行安装文件,勾上所有组件,然后一路点next即可完成安装。安装完成后打开命令行窗口,敲入python命令,得到下图界面提示后表示安装成功。
Fiddler是一个比较好用的抓包工具,可以将网络传输发送与接收的数据包进行截获、重发、编辑等操作,我们使用fiddler正好可以跟踪到微信公众号文章列表对应的HTTP链接以及请求参数等内容,方便我们做分析。 Fiddler 下载地址 : https://www./download/fiddler
分析步骤
多滑动几次滚动条,分析每次请求的参数,发现以上参数中只有offset和is_ok参数会变化,这两个参数是如何构造的呢,分析这类请求返回的json数据 在返回的json数据中,next_offset对应的就是下一次请求对应的offset参数,can_msg_continue对应的就是下一次请求对应的is_ok参数,通过观察,当返回的json数据can_msg_continue=0的时候就代表历史信息翻页已经翻到底了。 继续分析json数据, 可以看到general_msg_list键对应的value里包含了文章列表的基本信息,比如文章标题和url,向url发起请求便可以拿到文章内容。 编写脚本 根据我们以上分析,通过抓包软件Fiddler,可以找到公众号历史信息对应的url以及url请求需要携带的参数,我们可以通过代码来构造这些请求链接,并模拟翻页,一次性爬取完公众号的历史文章信息。下面就是编写代码了。 关键代码展示 爬取过程 |
|