Python爬取新浪微博数据快速版

2023-03-28 17:00:05 浏览数 (1)

新浪微博的数据可是非常有价值的,你可以拿来数据分析、拿来做网站、甚至是*。不过很多人由于技术限制,想要使用的时候只能使用复制粘贴这样的笨方法。没关系,现在就教大家如何批量爬取微博的数据,大大加快数据迁移速度!

1、需要先获取cookie,

2、运行爬虫

运行爬虫之前先简单的进行分析,微博这样的网站反爬机制都比较严的,最近的风控更严,特别是对IP的需求更高,所以在爬取数据之前需要加上代理池。爬虫代理的使用之前分享过很多,这里就简单的说下,根据自己的程序设计选择使用api提取模式自己管理IP或者使用隧道转发直接进行数据爬取都可以。这里我们选择使用后者,隧道转发的更适合业务启动和上手也快。实现过程如下:

代码语言:javascript复制
#! -*- encoding:utf-8 -*-

    import requests
    import random

    # 要访问的目标页面
    targetUrl = "weibo.com/?sudaref=www.baidu.com"

    # 要访问的目标HTTPS页面
    # targetUrl = "weibo.com/?sudaref=www.baidu.comp"

    # 代理服务器(产品官网 www.16yun.cn)
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"

    # 代理验证信息
    proxyUser = "16LDJLCD"
    proxyPass = "254565"

    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

0 人点赞