文中四种方式,均为我本人亲身使用过, 文中所有的文字及图片均为本人身亲自编写和截图, 如果转载,请标明来源

由于微信公众号爬虫的特殊性,微信公众号爬虫始终是爬虫工程师比较头疼的一个问题。

本文主要介绍一下目前市面上各种爬虫的优劣性以及适用群体

如果您有任何不同见解,或者除文中四种方式之外的方式.欢迎留言跟我交流.

1.搜狗微信(https://weixin.sogou.com/)

优点: 易于抓取,唯一的限制只有验证码(可以通过更换代理ip避免)

缺点: 无法通过公众号搜索,获取指定公众号文章, 无法获取永久链接 (文章只有几个小时有效期,过后无法打开),无法获取阅读数

难点:  验证码(通过代理ip可以解决)

适用群体: 个人抓取文章后保存,后可用于做数据分析

原理简介: 通过程序请求搜狗的首页, 分析html结构, 通过正则匹配 拿到文章的url 即可. 如下图所示

搜狗微信

2. 基于中间人以及脚本的方式

优点: 可以低成本获取数据,并且可以获取阅读数

缺点: 抓取数据有限(微信限制,无法解决),难于部署(需要脚本+抓包工具转发),可能会封号!!!

适用群体: 个人抓取规模很小的情况下,或者企业用于小规模抓取(100个公众号左右)

原理简介:

通过点击的方式 正常向微信发送请求,但是在配置了抓包工具等方式的中间人代理,可以捕获到点击的链接,从而抓取返回的数据发送到服务端

脚本可以通过按键精灵或者其他语言的自动化程序来实现

流程演示如下( 演示 使用的是mac版客户端,  win/mac/ios/android 客户端同理 )

a.配置好抓包工具(charles/fiddler) 或中间人代理

b.在客户端随意点击一篇文章

配置好抓包工具后点击文章

c.查看抓包工具的请求

抓到的json数据

d.配置转发

charles配置转发的方式

不过这个方式只能转发参数, 转发参数后,可以在服务端模拟请求即可. 后面我会完善一篇anyproxy实现结果的转发.

不过请注意!!!! 这种方式应该很可能会封号, 因为在点击文章的同时 相当于阅读了某一篇文章. 所以建议拉长抓取间隔,降低每天抓取次数(100~200次之内可能比较合理).

3.公众号后台抓取

优点: 可以请求多次,并且不依赖与微信号不会有封号的风险

缺点: 无法抓取阅读数, 需要申请微信公众号, 需要人为操作(授权扫码), 稳定性可能相对差一些(异常导致操作失效)

难点: 自动化操作流程

适用群体: 只想抓文章,不需要阅读数,并且对稳定性不太在意的

原理简介:

a.首先打开微信公众平台官网 https://mp.weixin.qq.com/ ,并且扫码登录

b. 左侧菜单栏选择创作管理->图文素材->新的创作->图文消息

c. 点击超链接 选择公众号, 手动输入需要抓取的公众号

d.此时可以打开浏览器检查元素 查看一下请求(提前打开检察元素 不然无法拦截到请求)

可以看到两个 XHR的资源 searchbiz是查询公众号 appmsg是获取公众号文章

https://mp.weixin.qq.com/cgi-bin/searchbiz

https://mp.weixin.qq.com/cgi-bin/appmsg

具体参数请自行抓包查看 很简单的几个参数

e.到此为止 整套流程就完事了, 需要做的就是 通过自动化的程序 来实现如下操作, 如果追求一体化的操作并且熟悉python的朋友 可以尝试用selenium来操作,这个方式相对简单一些,如果不太熟悉python的朋友 可以手动登录并且扫码后 导出 cookie , 然后再用自己熟悉的语言,使用cookie并请求接口 即可实现 (核心问题就是cookie)

4.购买成熟的api方案

优点: 不需要任何部署,直接调用api即可实现,可获取阅读数和文章,也可以通过关键词搜索

缺点: 大部分可能需要付费.

难点: 无

适用群体: 需求量比较大的企业,并且需要数据稳定性较高

原理简介:  封装好的数据接口,底层应该是由一套分布式的稳定架构来实现, 由一些小号以及代理ip来实现规模大一点的抓取

微信公众号爬虫方案分析相关推荐

  1. 基于Python实现微信公众号爬虫进行数据分析

    学爬虫有什么用 网络爬虫是一个非常注重实践性而且实用性很强的编程技能,它不是程序员的专属技能,任何具有一定编程基础的人都可以学习爬虫,写爬虫分析股票走势,上链家爬房源分析房价趋势,爬知乎.爬豆瓣.爬新 ...

  2. 如何做好微信公众号运营方案,需要做好这五点工作

    公众号相信大家都是非常熟悉的,这是与微信结合一起的另一个版块,我们生活在使用微信当中,偶尔都会看看公众号,现在大部分企业都有自己的公众号,通过公众号来提升品牌形象.产品营销,要做好这些,当然要找会运营 ...

  3. 【Python爬虫实战】微信公众号爬虫:微信公众号浏览自动化

    本文内容详细介绍微信公众号历史文章自动化浏览脚本的实现,配合服务端对公众号文章数据爬取来实现微信公众号文章数据的采集.服务端爬取实现见:微信公众号爬虫:服务端公众号文章数据采集 背景:在团队的学习方面 ...

  4. 【开源Python爬虫】微信公众号爬虫weixin_crawler开源啦

    作者 | 抽丝剥茧 出品 | 爱迪斯 微信公众号爬虫weixin_crawler开源啦 正式介绍weixin_crawler之前,我准备了两个问题,这两个问题通过weixin_crawler自带的报告 ...

  5. 微信公众号爬虫项目(reptile)

    代码仓库地址:reptile: 爬虫项目,微信公众号文章爬虫,网站文章爬虫,群发邮件系统 项目背景 个人在业余时间,写的一个以微信公众号爬虫为主要功能,普通网页爬虫.浏览器控制.邮件群发功能为辅的简单 ...

  6. 微信小程序接入关联微信公众号official-account方案总结

    微信小程序接入关联微信公众号official-account方案总结 需求描述: 最近在小程序项目中有这样的需求,在微信小程序里面显示出关联的微信公众号,让用户在小程序一步直达公众号. 解决方案: 第 ...

  7. 微信公众号爬虫,看这个就足够了

    我订阅了 253 个公众号,有时候想再找之前读过的文章,发现搜索起来特别困难,如果忘了收藏,估计得找半小时,更让人无语的是,文章已经发布者删除,或者文章因违规被删除.那么有没有这样的爬虫,可以将公众号 ...

  8. 微信公众号采集方案(基于Windows逆向)

    引言 目前主流的公众号采集方案只有以下几种方法 搜狗微信 无法采集历史了,而且搜索也不按时间排序.获取的数据的价值不高,不过可以通过它来获取公众号的biz. 微信公众平台 微信公众平台虽然可采集历史, ...

  9. 微信公众号 餐饮 前端源码_成都餐饮茶楼微信公众号开发方案

    在很多人的印象中,传统的餐饮茶楼就应该做好自己的生意,和互联网是拉不上关系的,甚至格格不入.但是就用独立思考的餐饮茶楼客户提出了新的思路,能不能用微信公众号来吸引用户,让微信公众号成为用户的入口,而不 ...

  10. 贵金属金融行业微信公众号营销方案

    公众号推广运营方案 公众号的运营其目的就在于达到用户开户充值的目的,但就目前而言公司所分配的公众号码较多,且用户关注量较少,所以单个微信运营成本和工作量较大,因以上原因及问题作出以下调整方案. 为什么 ...

最新文章

  1. 炒冷饭系列:设计模式 装饰模式
  2. Unity3D NGUI学习(一)血条
  3. [kuangbin] M - Find a way(简单广搜)
  4. python统计图原理_AB测试原理及样本量计算的Python实现
  5. N个数依次进栈,求所有可能的出栈方式
  6. 在博客园的博客插入代码块(高亮、行号、缩进、着色)
  7. strcpy,memcpy,memset函数实现
  8. 上周热点回顾(7.8-7.14)
  9. Nginx的location配置详解
  10. 个人理解的块状格式化上下文
  11. [2018.09.05 T1] Lyk Love painting
  12. Java List集合排序 Java8 List集合排序方法 Java Lambda集合排序
  13. sql 给字段设置默认值,
  14. 显示搜索dota2协调服务器,搜索dota2游戏协调服务器中【操作方式】
  15. 学习笔记-WinRM
  16. Unity 之 ShaderGraph 实现火焰效果入门级教程
  17. 网络编程学习路线计划
  18. 图像基础—— 特征提取之颜色特征提取
  19. 计算机平面设计评分标准,竞赛各专业评分标准.DOC
  20. c语言海明校验码编码,海明校验码的编码规则有哪些?

热门文章

  1. 安装Office2010提示缺少MSXML版本6.10.1129.0的解决方法
  2. jeeSite起步初始化数据库安装 (my.ini)
  3. 19条优秀的编码原则
  4. M1芯片安装PR(Premiere)2021已激活解决教程
  5. rs 华为hcip 课件下载_华为路由与交换hcip最新题库
  6. php字符串的截取方式
  7. 计算机上安装了更新ie版本,安装ie浏览器提示系统有更新的版本怎么办_ie提示有更新版本的解决方法...
  8. Linux下使用nohup部署java 后台程序
  9. Nvidia驱动支持的linux版本,完善支持 NVIDIA显卡Linux驱动275.19正式版
  10. windows下使用labelImg标注图像