python爬取公众号文章如何获取发布时间


在上一篇爬取公众号的文章中 爬虫如何爬取微信公众号文章介绍了如何获取公众号的所有历史文章链接,但当我根据链接去爬取文章的时候,却遇到了一个小问题,就是文章的发布时间无法获取,但是检查页面源码的时候明明是有时间的,如图所示:
在这里插入图片描述
根据xpath取出来却是空的,无奈我把整个页面的html爬下来,时间的标签如下,确实是空的。

<em id="publish_time" class="rich_media_meta rich_media_meta_text"></em>

在这里插入图片描述
经过查找才知道,原来它是网页前端用js生成的时间,一般是显示今天,昨天,两天前,一周前等字样。
在这里插入图片描述
但是考虑到在js中获取比较麻烦一些,所以没有尝试这种方法。

但是客户需要发布时间,还要求通过发布时间进行排序显示,所以这个问题一定要解决。
通过查看在微信公众平台获取的response,我发现那里面是有每篇文章的时间戳的,如下:

{"app_msg_cnt":525,"app_msg_list":[{"aid":"2247485703_1","appmsgid":2247485703,"create_time":1567005049,"digest":"(2017)京行终2920号行政判决书","update_time":1567034820},}

create_time就是发布时间的时间戳,update_time是更新时间的时间戳,只需要把create_time和url一起保存到csv文件中就可以了,之后爬取文章的时候再让url和create_time一一对应起来。如图:
在这里插入图片描述


爬取文章内容的爬虫在下一篇介绍。


Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐