给大家讲解了微信公众号文章采集的入口历史消息页信息获取方法,有需要的朋友参考一下本内容。

采集微信文章和采集网站内容一样,都需要从一个列表页开始。而微信文章的列表页就是公众号里的查看历史消息页。现在网络上的其它微信采集器有的是利用搜狗搜索,采集方式虽然简单多了,但是内容不全。所以我们还是要从最标准最全面的公众号历史消息页来采集。

因为微信的限制,我们能复制到的链接是不完整的,在浏览器中无法打开看到内容。所以我们需要通过上一篇文章介绍的方法,使用anyproxy获取到一个完整的微信公众号历史消息页面的链接地址。

http://mp.weixin.qq.com/mp/getmasssendmsg?__biz=MjM5NDAwMTA2MA==&uin=NzM4MTk1ODgx&key=bf9387c4d02682e186a298a18276d8e0555e3ab51d81ca46de339e6082eb767343bef610edd80c9e1bfda66c2b62751511f7cc091a33a029709e94f0d1604e11220fc099a27b2e2d29db75cc0849d4bf&devicetype=android-17&version=26031c34&lang=zh_CN&nettype=WIFI&ascene=3&pass_ticket=Iox5ZdpRhrSxGYEeopVJwTBP7kZj51GYyEL24AT5Zyx%2BBoEMdPDBtOun1F%2F9ENSz&wx_header=1

前一篇文章提到过,biz参数是公众号的ID,uin是用户的ID,目前来看uin是在所有公众号之间唯一的。其它两个重要参数key和pass_ticket是微信客户端补充上的参数。

所以在这个地址失效之前我们是可以通过浏览器查看原文的方法获取到历史消息的文章列表的,如果希望自动化分析内容,也可以制作一个程序,将这个带有尚未失效的key和pass_ticket的链接地址提交进去,再通过例如php程序来获取到文章列表。

最近有朋友跟我说他的采集目标就是单一的一个公众号,我觉得这样就没必要用上一篇文章写的批量采集的方法了。所以我们接下来看看历史消息页里面是怎样获取到文章列表的,通过分析文章列表,就可以得到这个公众号所有的内容链接地址,然后再采集内容就可以了。

在anyproxy的web界面中如果证书配置正确,是可以显示出https的内容的。web界面的地址是http://localhost:8002 其中localhost可以替换成自己的IP地址或域名。从列表中找到getmasssendmsg开头的记录,点击之后右侧就会显示出这条记录的详情:

红框部分就是完整的链接地址,将微信公众平台这个域名拼接在前面之后就可以在浏览器中打开了。

然后将页面向下拉,到html内容的结尾部分,我们可以看到一个json的变量就是历史消息的文章列表:

我们将msgList的变量值拷贝出来,用json格式化工具分析一下,我们就可以看到这个json是以下这个结构:

{

"list": [

{

"app_msg_ext_info": {

"author": "",

"content": "",

"content_url": "http://mp.weixin.qq.com/s?__biz=MzA5MzEzNDg3MQ==&mid=2652767427&idx=1&sn=37da0d7208283bf90e9a4a536e0af0ea&chksm=8b882dbbbcffa4ad2f0b8a141cc988d16bace564274018e68e5c53ee6f354f8ad56c9b98bade&scene=4#wechat_redirect",

"copyright_stat": 100,

"cover": "http://mmbiz.qpic.cn/mmbiz/MofBAcBsJ6X0xGrQ2XK5yQjzwb2eswxkRNBTgLtcqGziaFqwibzvtZAHCDkMeJU1fGZHpjoeibanPJ8rziaq68Akkg/0?wx_fmt=jpeg",

"digest": "擦亮双眼,远离谣言。",

"fileid": 505283695,

"is_multi": 1,

"multi_app_msg_item_list": [

{

"author": "",

"content": "",

"content_url": "http://mp.weixin.qq.com/s?__biz=MzA5MzEzNDg3MQ==&mid=2652767427&idx=2&sn=449ef1a874a37fed2429e14f724b56ef&chksm=8b882dbbbcffa4ade48a7932cda4263687e34fca8ea3a5a6233d2589d448b9f6130d3890ce93&scene=4#wechat_redirect",

"copyright_stat": 100,

"cover": "http://mmbiz.qpic.cn/mmbiz_png/MofBAcBsJ6XyaIn0qEDSSicBUBZbMYHYrhibia89ZnksCsUiaia2TLI1fyqjclibGa1hw3icP6oXeSpaWMjiabaghHl7yw/0?wx_fmt=png",

"digest": "12月28日,广州亚运城综合体育馆,内附购票入口~",

"fileid": 0,

"source_url": "http://wechat.show.wepiao.com/detail/ff764b0731b7465db03b56b998e1f2b8?detailReferrer=1&from=groupmessage&isappinstalled=0",

"title": "2017微信公开课Pro版即将召开"

},

...//循环被省略

],

"source_url": "",

"subtype": 9,

"title": "谣言热榜 | 十一月朋友圈十大谣言"

},

"comm_msg_info": {

"content": "",

"datetime": 1480933315,

"fakeid": "3093134871",

"id": 1000000010,

"status": 2,

"type": 49 //类型为49的时候是图文消息

}

},

...//循环被省略

]

}

简要的分析一下这个json(这里只介绍一些重要的信息,其它的被省略):

"list": [ //最外层的键名;只出现一次,所有内容都被它包含。

{//这个大阔号之内是一条多图文或单图文消息,通俗的说就是一天的群发都在这里

"app_msg_ext_info":{//图文消息的扩展信息

"content_url": "图文消息的链接地址",

"cover": "封面图片",

"digest": "摘要",

"is_multi": "是否多图文,值为1和0",

"multi_app_msg_item_list": [//这里面包含的是从第二条开始的图文消息,如果is_multi=0,这里将为空

{

"content_url": "图文消息的链接地址",

"cover": "封面图片",

"digest": ""摘要"",

"source_url": "阅读原文的地址",

"title": "子内容标题"

},

...//循环被省略

],

"source_url": "阅读原文的地址",

"title": "头条标题"

},

"comm_msg_info":{//图文消息的基本信息

"datetime": '发布时间,值为unix时间戳',

"type": 49 //类型为49的时候是图文消息

}

},

...//循环被省略

]

在这里还要提到一点就是如果希望获取到时间更久远一些的历史消息内容,就需要在手机或模拟器中将页面向下拉,当拉到最底下的时候,微信将自动读取下一页的内容。下一页的链接地址和历史消息页的链接地址同样是getmasssendmsg开头的地址。但是内容就是只有json了,没有html了。直接解析json就可以了。

这时可以通过上一篇文章介绍的方法,使用anyproxy将msgList变量值正则匹配出来之后,异步提交到服务器,再从服务器上使用php的json_decode解析json成为数组。然后遍历循环数组。我们就可以得到每一篇文章的标题和链接地址。

如果只需要采集单一公众号的内容,完全可以在每天群发之后,通过anyproxy获取到完整的带有key和pass_ticket的链接地址。然后自己制作一个程序,手动将地址提交给自己的程序。使用例如php这样的语言来正则匹配到msgList,然后解析json。这样就不用修改anyproxy的rule,也不需要制作一个采集队列和跳转页面了。

相关推荐:

微信公众号采集 php,如何采集微信公众号历史消息页的详解相关推荐

  1. 微信公众号采集 php,如何采集微信公众号历史消息页

    采集微信文章和采集网站内容一样,都需要从一个列表页开始.而微信文章的列表页就是公众号里的查看历史消息页.现在网络上的其它微信采集器有的是利用搜狗搜索,采集方式虽然简单多了,但是内容不全.所以我们还是要 ...

  2. 关于微信公号自定义菜单链接,跳转到历史消息界面URL

    之前微信公众号的自义定菜单是可以直接链接到历史消息界面的.后来改呀改的,又去掉了这么功能. 无奈公司微信公众号还是需要这个链接功能. 废话不多说上重点: 历史消息URL模板如下图是: https:// ...

  3. 微信公众号数据2019_如何制作微信公众号图文素材 微信公众号采集器好用吗

    现在有很多人都会通过微信公众号来发布文章.图片,这时候就需要使用一些编辑技巧了.下面拓途数据就和大家一同来看看如何制作微信公众号图文素材,微信公众号采集器好用吗? 微信公众号图文素材 如何制作微信公众 ...

  4. 知乎ajax采集,胖鼠采集WordPress插件教程-WP自动采集和发布简书,微信公众号,知乎等任意网站...

    WordPress本来是一个博客,但是由于功能强大.用户众多,发展到现在Wordpress已经成为了一个CMS平台了,甚至有一些企业建站都用了Wordpress,真的是无处不在.Wordpress用于 ...

  5. python爬取公众号_基于Python采集爬取微信公众号历史数据

    鲲之鹏的技术人员将在本文介绍一种通过模拟操作微信App的方式采集指定公众号的所有历史数据的方法. 通过我们抓包分析发现,微信公众号的历史数据是通过HTTP协议加载的,对应的API接口如下图所示,其中有 ...

  6. 公众号 多服务器配置_多账号公众号分享的素材如何采集以及一键分发?

    企业有多个微信公众号很常见,一个人同时运营多个公众号也并不少见.一个人两个公众号,每天保持2篇文章的固定输出都不是那么容易,那如何同时运营多个公众号呢?我谈下我之前操作的一些方法,供大家参考. 我们每 ...

  7. 【Python与SEO】搜狗微信搜索下拉框词采集多线程/异步采集源码公布

    随意写了一下,更多可关注本渣渣微信公众号:二爷记!! 欢迎与本渣渣交流!!! 运行效果: 搜狗微信搜索下拉框词采集核心代码参考: #微信搜索下拉词采集 #首发:微信公众号:二爷记 #author:微信 ...

  8. 微信开发者和其他服务器区别,求教微信公众号开发中两种认证技术的区别?

    本人对微信开发中2个认证方式有些不解,求各位大佬给解释一番. 众所周知,在微信开发者进行开发时,有两个角色和两个场景存在,我分别描述如下: 第一个场景:微信服务器------>我的服务器. 在我 ...

  9. 浅析微信支付:微信支付简单介绍(小程序、公众号、App、H5)

    本文是[浅析微信支付]系列文章的第二篇,主要讲解一下普通商户接入的支付方式以及其中的不同之处. 上篇文章讲了本系列的大纲,没有看过的朋友们可以看一下. 浅析微信支付:前篇大纲 微信支付是集成在微信客户 ...

  10. SAP系统和微信集成的系列教程之三:微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据

    这是Jerry 2020年的第84篇文章,也是汪子熙公众号总共第266篇原创文章. 本系列的英文版Jerry写作于2017年,这个教程总共包含十篇文章,发表在SAP社区上. 系列目录 (1) 微信开发 ...

最新文章

  1. hibernate连接mysql数据库步骤_Hibernate (操作步骤)
  2. 学习ASP.NET MVC系列 - 还有比这更简炼的吗?把复杂的事情变简单了,贡献啊!...
  3. 各种媒体在线播放代码
  4. 1、大话设计模式,简单工厂
  5. 成功解决Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
  6. To B设计系统 - 在平平淡淡中开花结果
  7. 20180802总结
  8. Linux内核实验作业七
  9. 系统地址和服务器地址不一致,在打开远程通服务配置程序时检测系统配置时提示配置失败,映射的ip地址与服务器不一致。...
  10. MySQL懒查询_mysql 联查的基本命令
  11. 别把数据当成万金油,如何用OKR搞垮一个团队?
  12. Linux内核分析作业 NO.2
  13. Springer期刊LaTeX模板的一些问题
  14. 阿里中间件-全链路压测 总结
  15. 爱的能力(徐博客写的-收藏下)
  16. 用rtl8139网卡制作的bios编程器(不用并口)
  17. 拼多多库存怎么做|旭宇同创
  18. 发布了每日一文应用,每日一文,每天阅读,简单生活。每天精选一篇不同的文章,也可以随机阅读往日精选文章...
  19. 程序员直男也有的浪漫,快来给朋友制作一款定时微信推送服务吧
  20. IDEA映射文件去掉黄色和绿色背景

热门文章

  1. fqa什么意思_FQA是什么意思
  2. electron 打开选择文件框
  3. 微信小程序 定位获取开发模式好的 但是真机就失败了
  4. 大脑网络结构、功能和控制的物理学
  5. lcx端口转发及远程终端问题
  6. 怎么把电脑上的文件迁移到另一台电脑?
  7. 英语测试用什么软件有哪些,学习英语的软件哪个好 什么比较好用
  8. Win10安装Centos7双系统
  9. 黑苹果El Captain 10.11.2 安装
  10. java 朋友圈功能开发_java开发的微信分享到朋友圈功能