投稿    登录
  《Python3网络爬虫开发实战》赠书活动正在进行中!详情请戳赠书活动!欢迎参与!非常感谢!

mitmdump + 电脑版微信爬取微信公众号文章

Python Crazy__Hope 5935浏览 503评论

本篇文章使用到的技术: mitmdump + 电脑版微信

需求

首先来说下需求,需求很简单(-_-!!), 就是爬指定微信公众号的所有文章并保存为pdf。
看到这个需求的时候正好我用电脑登陆着微信,就想着先用电脑抓一下包看可不可行(能少用工具就少用,减少运行依赖),后来发现果然有数据返回。(有搞头!)

步骤

下面说下具体分析步骤:

1.打开可视化抓包工具, 勾选https代理。然后打开电脑版微信

在这里插入图片描述

2.任意点击一个公众号,再点击查看历史消息

在这里插入图片描述

打开后这样

在这里插入图片描述

3. 向下滑动右侧的滚动条,同时观察抓包软件,有新的数据加载即可停止滑动,仔细分析抓包软件的数据

在这里插入图片描述

呐,接口已经找到了。

4.下面来分析它的请求参数

在这里插入图片描述

由于上面这些参数根本就不知道是怎么生成的,所以就考虑使用mitmdump配合,那现在的关键点由怎么破解这些参数来到了 如何构造下一次请求。通过多下滑几次发现,其它参数都是固定不变的,只是 offset这个关键参数来控制它的翻页。通过观察响应

在这里插入图片描述

可以找到 next_offset 这个参数就是下一次请求的 offset参数。那如何知道它已经翻到底了,没有更多内容了呢? 你可以控制滑轮一直下滑,观察最后一个接口的响应体内容,就会发现 can_msg_continue=0 如果可以翻页的话,这个参数的值为1。

5.分析完毕我们就可以编写抓包的脚本了

在这里插入图片描述

这样就可以获取首次打开公众号的参数(注意: 这些参数就仅对这一个公众号有用,等控制台打印 爬取完毕,再去点击另外一个公众号)。 然后交给parse去解析下载

大体代码就这样了,可以获取到标题和里面的内容了,最后我使用的pdfkit这个包 保存为pdf。

这里给大家说下这里面的坑,不知道大家发现没有,开启了mitmdump 是不能抓到 自身电脑的http请求包的,而Fiddler和Charles就可以直接抓到。 mitmdump需要设置代理,具体设置步骤如下:

在这里插入图片描述

然后大家肯定发现我的parse函数里为什么有一行设置代理的参数,而http和https的代理全为None

在这里插入图片描述

如果不加上他,它就会走代理,而且报一个 无法连接到代理的错误。具体错误,大家可以尝试一下。除非关闭刚才设置的代理,那如果关闭了, mitmdump就又抓不到电脑的请求包了。。。。所以这里要这样设置。其实还有种方法,下面把这两种代码都贴上

在这里插入图片描述

至于说保存为pdf,里面的还有一堆坑,比如保存的文章pdf没有图片等等问
题,这里就不在赘述了!
到这里就结束了。要爬取哪个公众号,只需要点一点公众号列表的公众号即可!
存在的缺点: 如果要爬取的公众号很多,这种方法可能不太适用!

转载请注明:静觅 » mitmdump + 电脑版微信爬取微信公众号文章

喜欢 (11)or分享 (0)

我的个人微信公众号,联系我请直接在公众号留言即可~

扫码或搜索:进击的Coder

进击的Coder

微信公众号 扫一扫关注

想结交更多的朋友吗?

来进击的Coder瞧瞧吧

进击的Coder

QQ群号 99350970 立即加入

进击的Coder灌水太多?

这里是纯粹的技术领地

激进的Coder

QQ群号 627725766 立即加入

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(503)个小伙伴在吐槽
  1. viagra varighed
    RannevNiz2019-02-10 17:53 回复
  2. viagra piller online
    RannevNiz2019-02-10 15:40 回复
  3. is svizzera prezzo
    RannevNiz2019-02-10 14:58 回复
  4. is necesita receta
    RannevNiz2019-02-10 13:44 回复
  5. does viagra really work men
    RannevNiz2019-02-10 11:07 回复
  6. 3 is pills 4 sale
    RannevNiz2019-02-10 10:55 回复
  7. is sicher online kaufen
    RannevNiz2019-02-10 09:32 回复
  8. is plus chyscorg
    RannevNiz2019-02-10 09:09 回复
  9. is se vende libre f612 the best place uk is sites
  10. is capsule price f612 is at local stores
  11. brand at is f612 freie probe is
  12. effet is is f612 100 mg is prices
  13. follow link is fast f612 price of is for men
  14. brand at is f612 is in egitto
  15. just try be is cheap f612 is vente libre quebe
1 28 29 30 31 32 34