美文网首页007-9512
用 Python 爬取微信公众号推送文章

用 Python 爬取微信公众号推送文章

作者: 万事皆成 | 来源:发表于2018-07-18 00:27 被阅读225次

    背景介绍:

    从四月份开始接触微信爬虫,到今天正式将数据导入线上数据库,历时三个多月。虽然中间有其它工作安排进来,但这期间,微信文章爬取一事始终放在心上。爬取内容,130 个与区块链相关的微信公众号的实时推送文章

    在解决这些问题的过程中,花了不少时间和精力,但确实感觉长进不少。记录下爬取文章过程中遇到的几个大问题及解决方法

    整体框架:

    微信机器人框架 ItChat
    爬虫框架 Scrapy
    无头浏览器 PhantomJS

    爬取流程

    1.使用 ItChat 获取微信链接

    2.Scrapy 爬取内容

    3.MongoDB存储数据,图片存七牛

    流程图:

    image

    注意:

    微信号是个大问题,必须要能登录网页版微信的微信号,并且要常用的,不然很容易被封

    具体问题:

    1.怎么获取微信文章的链接

    使用 xml.etree.ElementTree 解析 xml 获取 图片和 url

    2.怎么将链接传到爬虫项目并启动爬虫

    将爬虫部署在 Scrapyd,用 schedule.json 设置参数启动

    3.怎么确保程序不退出

    在 while(True) 里面执行微信登录

    4.怎么获取微信文章的发布时间(由于最近微信文章改版,需要点击时间后才能显示年月日)

    使用 Selenium 和 PhantomJS 模拟点击操作

    5.怎么生成一键关住微信公众号的链接

    从微信号文章里获取 biz (手动获取),生成链接 https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MjM5MTc3MDcwNw==#wechat_redirect

    以上是几个主要问题,在实际开发中还有很多细节问题,由于代码还不够成熟,暂未开源,项目会继续改进,时机成熟会考虑将项目开源

    相关文章

      网友评论

        本文标题:用 Python 爬取微信公众号推送文章

        本文链接:https://www.haomeiwen.com/subject/vdenpftx.html