2022-08-30 16:48

新媒体时代有很多的接受信息的平台,不知道大家对微信公众号的了解是怎么样的,但是我个人挺喜欢的。有时遇到一个感兴趣的公众号时,都会感觉相逢恨晚,想一口气看完所有历史文章。但是微信的阅读体验挺不好的,看历史文章得一页页的往后翻,下一次再看时还得重复操作,很是麻烦。

刚好自己又是做爬虫的工作的,于是便想着能不能把某个公众号所有的文章都保存下来,这样就很方便自己阅读历史文章了。微信公众号爬虫简单的说就是基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。话不多说,下面我就介绍如何使用 Python 爬取微信公众号所有文章的。主要有以下步骤:

1 使用 抓包工具抓取公众号接口数据

2 使用 Python 脚本获取公众号所有历史文章数据

3 保存历史文章微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。

简单的数据实现过程如下:

 #! -*- encoding:utf-8 -*-


    import requests

    import random


    # 要访问的目标页面

    targetUrl = "http://httpbin.org/ip"


    # 要访问的目标HTTPS页面

    # targetUrl = "https://httpbin.org/ip"


    # 代理服务器(产品官网 www.16yun.cn)

    proxyHost = "t.16yun.cn"

    proxyPort = "31111"


    # 代理验证信息

    proxyUser = "username"

    proxyPass = "password"


    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {

        "host" : proxyHost,

        "port" : proxyPort,

        "user" : proxyUser,

        "pass" : proxyPass,

    }


    # 设置 http和https访问都是用HTTP代理

    proxies = {

        "http"  : proxyMeta,

        "https" : proxyMeta,

    }



    #  设置IP切换头

    tunnel = random.randint(1,10000)

    headers = {"Proxy-Tunnel": str(tunnel)}




    resp = requests.get(targetUrl, proxies=proxies, headers=headers)


    print resp.status_code

    print resp.text

在爬取数据的过程中添加了代理IP,为了避免目标网站封爬虫。很多小伙伴在学习添加代理IP的时候都是在网上找的免费的IP,作为简单的练习是可以的,但是真的要获取某个有价值网站数据,还是需要高匿IP才靠谱,如果大家不知道如何去选择这里推荐亿牛云代理www.16yun.cn,专业提供高质量爬虫代理IP的,并且有api模式和隧道模式可以自由选择,隧道模式的还提供了参考示例。




评论