问答媒体

用户名  找回密码
 立即注册
帖子
热搜: 活动 交友 discuz
查看: 77|回复: 1

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

[复制链接]

3

主题

4

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-4-28 09:33:28 | 显示全部楼层 |阅读模式
新浪微博的数据可是非常有价值的,你可以拿来数据分析、拿来做网站、甚至是*。不过很多人由于技术限制,想要使用的时候只能使用复制粘贴这样的笨方法。没关系,现在就教大家如何批量爬取微博的数据,大大加快数据迁移速度! 1、需要先获取cookie, 2、运行爬虫 运行爬虫之前先简单的进行分析,微博这样的网站反爬机制都比较严的,最近的风控更严,特别是对IP的需求更高,所以在爬取数据之前需要加上代理池。爬虫代理的使用之前分享过很多,这里就简单的说下,根据自己的程序设计选择使用api提取模式自己管理IP或者使用隧道转发直接进行数据爬取都可以。这里我们选择使用后者,隧道转发的更适合业务启动和上手也快。实现过程如下:
#! -*- 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

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2025-2-26 03:14:45 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊
回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver| 手机版| 小黑屋| 问答媒体

GMT+8, 2025-3-16 17:38 , Processed in 0.176124 second(s), 72 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表