python爬取数据中的headers和代理IP问题分析

 更新时间:2023年06月26日 10:16:16   作者:小白学大数据  
这篇文章主要为大家介绍了python爬取数据中的headers和代理IP问题分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

爬虫主要爬取方式之一 聚焦爬虫

也就是说,爬取某一个特定网站或者具有特定内容的网站,而一般比较大的有价值的网站都会有反爬策略,其中常见的反爬策略是网站根据来访者的身份判定是否予以放行。

对来访者身份的判定一般基于headers里的user-Agent值,每一种浏览器访问网站的user-Agent都是不同的,因此,爬虫需要伪装成浏览器,并且在爬取的过程中自动切换伪装,从而防止网站的封杀。

通过一些爬虫库调用随机返回一个headers(User-Agent)

import requests
ua = UserAgent()        # 实例化,需要联网但是网站不太稳定-可能耗时会长一些
print(ua.random)  # 随机产生
headers = {
    'User-Agent': ua.random    # 伪装
    }
# 请求
if __name__ == '__main__':
    url = 'https://www.baidu.com/'
    response = requests.get(url, headers=headers ,proxies={"http":"117.136.27.43"})
    print(response.status_code)
还有就是访问IP的判别,在进行Python爬虫程序开发时,如果频繁地访问同一网站的情况下,网站服务器可能会把该IP地址列入黑名单,限制其访问权限。此时,使用IP代理技术可以有效避免这种限制,保证爬虫程序的稳定性。使用IP代理技术还有其他的优点,比如增强隐私保护、提高数据访问速度、降低目标网站的压力等等。总之,IP代理技术已经成为了Python爬虫程序中不可或缺的一部分。
Python提供了丰富的第三方库,可以帮助我们实现IP代理功能。其中最常用的是requests库和urllib库。以下是使用requests库实现IP代理的示例代码:
```     #! -*- 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

以上就是python爬取数据中的headers和代理IP问题解析的详细内容,更多关于python爬取数据headers代理IP的资料请关注脚本之家其它相关文章!

相关文章

  • 浅析Python如何在Excel中应用数据透视表

    浅析Python如何在Excel中应用数据透视表

    数据透视表是 Excel 最强大的数据分析工具之一,能快速实现海量数据的动态汇总、多维分析与交互式展示, 下面我们就来看看如何使用 Python 在 Excel 中应用数据透视表
    2025-07-07
  • python多维数组切片方法

    python多维数组切片方法

    下面小编就为大家分享一篇python多维数组切片方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python中生成随机整数的三种方法

    Python中生成随机整数的三种方法

    本文介绍了如何在Python中生成一到一百随机整数的多种方法,包括random库,NumPy库和random.sample函数这三种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • tensorflow实现简单的卷积神经网络

    tensorflow实现简单的卷积神经网络

    这篇文章主要为大家详细介绍了tensorflow实现简单的卷积神经网络,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Python 使用类写装饰器的小技巧

    Python 使用类写装饰器的小技巧

    装饰器是一个返回函数的函数。写一个装饰器,除了最常见的在函数中定义函数以外,Python还允许使用类来定义一个装饰器。这篇文章给大家分享Python 使用类写装饰器的小技巧,一起看看吧
    2018-09-09
  • Python numpy生成矩阵、串联矩阵代码分享

    Python numpy生成矩阵、串联矩阵代码分享

    这篇文章主要介绍了Python numpy生成矩阵、串联矩阵代码分享,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • Pyecharts V1和V0.5之间相互切换的方法

    Pyecharts V1和V0.5之间相互切换的方法

    这篇文章主要介绍了Pyecharts V1和V0.5之间相互切换的方法,Pyecharts这个可视化库火爆,官方如是说:Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可,下面和小编一起进入文章了解具体内容吧
    2022-02-02
  • pytorch如何自定义forward和backward函数

    pytorch如何自定义forward和backward函数

    PyTorch自动求导功能强大,但在特定情况下需要用户自行定义backward函数,通过实例解释了保存变量、计算梯度、链式法则等核心概念,并展示了如何通过自定义函数集成到网络中以及如何正确返回梯度,此外,还讨论了多输出情况下的梯度传递
    2024-10-10
  • Python中的shape[0]、shape[1]和shape[-1]使用方法

    Python中的shape[0]、shape[1]和shape[-1]使用方法

    shape函数是Numpy中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度,这篇文章主要介绍了Python中的shape[0]、shape[1]和shape[-1]使用方法,需要的朋友可以参考下
    2023-07-07
  • Python实现多线程抓取妹子图

    Python实现多线程抓取妹子图

    本文给大家汇总了3款由Python制作的多线程批量抓取美图的代码,主要是将获取图片链接任务和下载图片任务用线程分开来处理了,而且这次的爬虫不仅仅可以爬第一页的图片链接的,有类似需求的小伙伴可以参考下。
    2015-08-08

最新评论