分享

一步一步教你爬取微信公众号文章

 新世界的礼物 2019-07-10

准备阶段

  • 安装python开发环境

    从Python的官方网站python.org下载python3.5,运行安装文件,勾上所有组件,然后一路点next即可完成安装。安装完成后打开命令行窗口,敲入python命令,得到下图界面提示后表示安装成功。


  • 安装fiddler抓包软件

      Fiddler是一个比较好用的抓包工具,可以将网络传输发送与接收的数据包进行截获、重发、编辑等操作,我们使用fiddler正好可以跟踪到微信公众号文章列表对应的HTTP链接以及请求参数等内容,方便我们做分析。

Fiddler 下载地址 :  

https://www./download/fiddler

  • 在电脑上登录微信

分析步骤

  1. 打开fiddler抓包软件,然后打开电脑版微信,找到需要爬取的公众号


  2. 点击公众号,再点击查看历史信息


  3. 进入历史信息界面如下


  4. 向下滑动右侧的滚动条,同时观察fiddler上的抓包信息,有新的抓包信息出现后即可停止,仔细分析抓包软件中显示的信息


    如上图所示,图中选中的请求就是拖动滚动条,后台向微信服务器发起的请求,该请求可以返回公众号发布过的历史文章信息。

  5. 分析HTTP请求参数

多滑动几次滚动条,分析每次请求的参数,发现以上参数中只有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请求需要携带的参数,我们可以通过代码来构造这些请求链接,并模拟翻页,一次性爬取完公众号的历史文章信息。下面就是编写代码了。

关键代码展示

爬取过程

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多