有一个需求是将微信公众平台的数据导出到Excel以进行后续的数据分析。在关注人数等数据上,微信已经提供了Excel导出的接口,但是在图文分析上,尽管有很详细的数据提供,却没有提供一个好的导出接口。所以我需要寻求一个简单的方案来抓取微信公众平台的图文分析数据。

分析

图文分析页面是JS加载的,通过后台提交返回数据,然后使用JS渲染生成页面。对着页面分析了一会儿,没有发现比较简单的请求构造方式,但是发现微信给出的数据形式非常有规律,可以采用正则来获取我想要的信息。

方案

适用范围

  • 单页
  • 批量
  • 规则数据

工具

  • Chrome
  • Sublime Text 3
  • Excel 2016

流程

  • 使用Chrome访问相关页面,列出公众号指定时段的所有图文消息
  • Ctrl+A大法,选中所有数据并保存到Sublime中
  • 运用正则批量处理之
  • 导入到Excel

坑点

微信公众平台BUG

微信公众平台的图文分析的排序规则上有着很明显的BUG,比如按照发表时间排序,但是并不是所有文章都是按照时间排序的。不过这个BUG并不是非常大,输出到Excel之后排序更快更好。 除此之外,当选择的时间跨度比较大的时候,还有一定概率会出现错误。这个没有做复现,所以没有进行进一步的分析。

分隔符的选择

在本次正则的处理中,我使用了|作为分隔符,但是坑爹之处在于,公众平台的文章标题中,有一部分也使用了|这个符号。导致最后生成的数据中出现了部分标题被分隔为两端的现象,幸好数据不多,自己手动Fix了。

总结

经过多次数据抓取的实战,对于前期的分析以及抓取流程已经非常娴熟,但是在后期的数据处理过程中,仍然有着比较大的问题。一个比较明显的问题就是对于数据的特征把握不全面,经常出现所有数据处理完才发现数据中某个特定的值导致批量处理的结果不符合预期。所以以后处理数据时要注意对数据特征的全面把握,不要依赖后期自己的手动Fix。

更新日志

  • 2015年09月30日 完成初稿