前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信文章爬虫

微信文章爬虫

作者头像
一粒小麦
发布2020-07-28 15:50:17
5660
发布2020-07-28 15:50:17
举报
文章被收录于专栏:一Li小麦一Li小麦

微信文章爬虫

所谓爬虫者,给人感觉都是些拿来主义的东西,说出去还是有点汗颜。但如果爬的是自己写的东西呢?嗯,也许就理直气壮了。

一直以来,微信一直都禁用历史文章列表。并且在每一代的升级中,都加强防范。对喜好收集数据的人来说,简直是噩梦。我曾找某人帮我人工收集某公众号17-20年间的450多篇文章。整个过程持续近两个月。中途还经常连哄带骗地让人帮我做事情,我简直变得不像我自己。

直到我读到一篇文章:《持续更新,微信公众号文章批量采集系统的构建》(https://zhuanlan.zhihu.com/p/24302048),倒不是因为技术有多高超,而是为作者的愚公精神所折服。

wechat_spider 是笔者在github上找到一款基于 Node.js 的微信爬虫,通过"中间人代理"的原理,批量获取微信文章,包括阅读量、点赞量、评论和文章正文等。

所谓中间人代理,无非是通过抓包工具监听手机发送请求,不断地循环往数据库请求数据。

•使用代理模块 AnyProxy。代码已支持 AnyProxy 4 版本。•支持 Docker 部署。•项目可运行在个人电脑上,也可部署在服务器上。

AnyProxy是阿里开发的一个开放式的HTTP代理服务器。更重要的,它使用node开发。 官方文档 : http://anyproxy.io/cn/ Github主页:https://github.com/alibaba/anyproxy

准备

•安装 Node,版本大于 8.8.1•安装 MongoDB,版本大于 3.4.6•安装 Redis•带微信的手机

部署

本项目可通过docker部署。

代码语言:javascript
复制
git clone https://github.com/lqqyt2423/wechat_spider.git
cd wechat_spider
# build image
docker-compose build
# 运行实例
npm start

设置代理

手机和电脑连到同一个wifi下。设置手机代理为:电脑ip:8101

安装证书

部署之后访问http://localhost:8102/

点击rootCA。

作者很贴心地给我们服务器装好了证书,但手机,还是得自己安装。

安装之后

这时候就可以开始搞了,手机访问公众号的文章列表。

——手机屏幕不停闪动。这时抓包已经开始了。

观察控制台变化:

已经在爬取数据。

系统集成了一个可视化界面,这时在访问:http://localhost:8104 :

文章已经存到数据库了。据测试,154篇拉取时间为1个小时。(公众号没人读,逃?‍♂️)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一Li小麦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 微信文章爬虫
    • 准备
      • 部署
        • 设置代理
          • 安装证书
            • 安装之后
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档