原标题:一步步教你怎么打造微信公众号历史文章爬虫

开篇语:

邓爷爷曾说过:不管黑猫白猫,逮到耗子就是好猫。不管我是凑的还是笨办法堆出来的,确实把批量导出微信公众号所有历史文章的这个功能给做出来了,而且还运行了大半年了,经历了几千个各式各样类型公众号的检验,还都能正常工作。所以自认为与大家分享的知识会帮到一部分朋友,至少能带来点启发(自信还是要有的,要不还咋写)。当然我也深知我这种现学现卖做出来的产品会有许多待完善的地方,也请大牛不吝指教。

友情提醒:

虽然乔布斯说过每个人都应该懂点编程知识,而且本文确实是想授人以渔,但我还是想强调不是每个人想吃鱼的时候都得现去钓鱼,所以如果您根本不是做技术的或者看完觉得技术难度较大或者只需要保存一两个号,不妨直接找我帮你搞,毕竟时间也是成本。

该系统大致分成这么几步:

1、公众号所有历史文章链接的获取。

2、单篇文章原始HTML的下载,包括文字、图片、css等内容。

3、文章批量下载、管理。

4、HTML转换成PDF。

5、后续有新文章时的更新。

6、基于此系统的扩展功能。

不着急,咱分几篇慢慢写。

第一步,历史文章链接的获取,这是最难也是最重要的一步。

方法:安卓模拟器/安卓真机 + Fiddler/Anyproxy 等抓包工具。

再具体来讲,初级办法是在手机上通过模拟按键的方式不停加载文章列表,不停抓包,这是完全模拟人工操作,缺点是比较慢,必须按照文章发布顺序倒序依次获得所有数据,其间有可能出各种各样卡住的问题(其实好的程序本来就要应对各种异常情况)。

稍高级点的是抓包拿到的手机向微信服务器请求文章列表时发送的请求网址数据,再用程序模拟出所有的请求网址,一一发给微信服务器,并获得相应的返回数据。这种方法的优点灵活性强,可以获取特定索引次序的文章(比如第100到120篇文章,但不能获得特定时间段的,只能是大体估计时间段。)坏处是难度大,而且如果没做好伪装有可能被微信发现你是爬虫带来封号。(本文中提到的封号,是指微信官方会封锁该微信号24小时内读取任意公众号文章的功能,正常的聊天并不受影响,过了24小时会恢复正常,但如果被封的次数多了也许会处罚从重哦。)

上文提到的这些方法其实都是模拟客户端向微信服务器请求数据,一定要注意控制好请求频率,间隔太短的话很容易被屏蔽。当然还有更高级的,通过修改请求网址中某些key的值来获得高级权限,可以以近乎不限速不限量的速度获取大量数据,不过这个门槛相当高而且没人会公开,如果有谁有这方面的信息欢迎分享。拿不到也不要沮丧,用我提供的普通玩法就足够了。

链接获取之后还要保存到数据库,量不大的话保存到excel中也行,至于都要保存什么数据,仔细看看返回的Json数据格式就可以了,不过需要注意编码问题。

2、单篇文章的下载,各种编程语言都有成熟的请求网页内容的库,一定要把自己伪装成浏览器,可别傻傻告诉微信我是爬虫我来爬你了(那样微信爸爸会啪给你一巴掌再啪把门一关不让你爬了)。网页html下载下来后解析出里面的图片,再挨着下图片就可以了。为了方便管理图片可能需要一个专门的images文件夹去保存,注意修改相对路径。我在多处看到有人说微信的图片不好爬,不过我一直没遇到过啥问题,如果你遇到了不妨提出来交流下。

今天就先前两步吧。以前净看别人的技术教程了,今天第一次写教程,不知道深度和详细性是否合大家的味口,欢迎留言给我。返回搜狐,查看更多

责任编辑:

订阅号微信公众号历史文章爬虫php,一步步教你怎么打造微信公众号历史文章爬虫...相关推荐

  1. 订阅号微信公众号历史文章爬虫php,2019.9月最新爬取微信公众号历史文章的办法...

    版权申明 原创文章:本博所有原创文章,欢迎转载,转载请注明出处,并联系本人取得授权. 版权邮箱地址:banquan@mrdwy.com 简介 我反复试了网上各种方法,都可能已经过时,或者无法使用,我这 ...

  2. 微信公众平台接口调试工具json格式不对怎么搞_一步步教你打造微信公众号文章爬虫(3)-批量下载...

    本文为本专题第3篇,如果你基础不错的话只看这一篇的讲解及源代码应该就能轻松实现批量下载所有文章了,基础稍差的可以先看一下前两篇,只要你有点基础,有点耐心,八成朋友都至少能照葫芦画瓢实现批量下载文章的功 ...

  3. 教你如何获取微信公众号历史文章链接

    获取这个链接还是很有用的,想想当你的微信号只是个人订阅号的时候,但是你又开启了开发配置接口,这样你公众号下面的菜单就失效了,为了让用户看到你的文章,这时候这个链接就派上用场啦. 第一步 登陆你的微信公 ...

  4. 使用代理爬去微信公众号_Python3网络爬虫开发实战之使用代理爬取微信公众号文章...

    本节目标 我们的主要目标是利用代理爬取微信公众号的文章,提取正文.发表日期.公众号等内容,爬取来源是搜狗微信,其链接为 http://weixin.sogou.com/,然后把爬取结果保存到 MySQ ...

  5. python爬虫(17)爬出新高度_抓取微信公众号文章(selenium+phantomjs)

    个人博客请访问 http://www.x0100.top 一.思路分析 目前所知晓的能够抓取的方法有: 1.微信APP中微信公众号文章链接的直接抓取(http://mp.weixin.qq.com/s ...

  6. 如何获取微信公众号文章ID?9步教你!

    自媒体时代已经到来,越来越多的人开始关注和学习自媒体运营.而在自媒体运营中,微信公众号是一个非常重要的平台.为了更好地运营微信公众号,掌握文章ID获取方法是必不可少的技能之一.本文将从以下9个方面详细 ...

  7. 文章编写实用工具——Typore导出HTML并用于微信公众号

    文章编写实用工具--Typore导出HTML并用于微信公众号 简介 上一篇文章编写实用工具--Typore+PicGo+Gitee我们进行安装并设置了Typore与PicGo的关联,PicGo与Git ...

  8. 【微信小程序控制硬件④】 深度剖析微信公众号配网 Airkiss 原理与过程,esp8266如何自定义回调参数给微信,实现绑定设备第一步!(附带源码)

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  9. 50行代码教你打造一个公众号文章采集器

    Alfred的女票是一枚数据科学领域的新媒体运营官(是的,Alfred是一名程序员,Alfred有女票),每天都要阅读大量的行业相关文章,以掌握行业的动向,挑选和生产相关内容.为此,她关注了一大批的相 ...

最新文章

  1. 国产首款脑机编解码集成芯片发布
  2. 插件、页面-在csdn写markdown,基于chrome插件-by小雨
  3. Leecode-198. 打家劫舍——动态规划(C++)
  4. mysql数据库多实例部署
  5. html选项卡_UltraEdit文字编辑何使用选项卡式子窗口教程
  6. ps计算机按键.,计算机一级Photoshop视图操作快捷键
  7. linux sar监控脚本,linux-利用sar进行性能监控
  8. 14个HTML5实现的效果合集
  9. .net 画图 饼图折线图等
  10. ArcGIS 起伏度、坡度、交通便利度数据生成
  11. Web 全栈工程师的自我修养
  12. 需求分析-4 用例分析
  13. Linux下最好用的中文输入法 scim
  14. python量化交易策略实例_Python写一个量化股票提醒系统实例
  15. 01-初探MQ-MQ的三大使用场景:应用解耦、异步提速、削峰填谷
  16. 快递收件寄件JAVA小程序技术描述_解析“微快递”小程序的交互流程
  17. ​​​LabVIEW DLL传递一个二维数组报错
  18. 对不起,我轻视了google的公关能力
  19. butter滤波器是iir吗_MATLAB IIR滤波器设计函数buttord与butter
  20. java 字节替换_java 替换四个字节的字符 apos;\xF0\x9F\x98\x84\xF0\x9F)的解决方案 - 好库文摘...

热门文章

  1. rete_Rete之外的生活– RIP Rete 2013 :)
  2. 端到端BPM(带有DMN标记)
  3. 创建健壮的微服务架构所涉及的组件
  4. pit和systick_PIT和TestNG突变测试简介
  5. REST服务的自动化测试
  6. 在非托管对象中使用Spring托管Bean
  7. 使用ADF BC管理保存点
  8. 构建和测试JSF.next
  9. Java EE + MongoDb与Apache TomEE和Jongo Starter项目
  10. 在Java中避免空检查