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爬虫MeterSphere平台执行报告流程解析

    python爬虫MeterSphere平台执行报告流程解析

    这篇文章主要为大家介绍了python爬虫MeterSphere平台执行报告流程解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Python OpenCV实现图像增强操作详解

    Python OpenCV实现图像增强操作详解

    由于很多不确定因素,导致图像采集的光环境极其复杂;为了提高目标检测模型的泛化能力,本文将使用python中的opencv模块实现常见的图像增强方法,感兴趣的可以了解一下
    2022-10-10
  • Python+numpy实现一个蜘蛛纸牌游戏

    Python+numpy实现一个蜘蛛纸牌游戏

    蜘蛛纸牌大家玩过没有?之前的电脑上自带的游戏,用他来摸鱼过的举个手。但是现在的电脑上已经没有蜘蛛纸牌了。所以本文就来用Python做一个吧,需要的可以参考一下
    2022-12-12
  • Python关于抽奖系统的思考与设计思路

    Python关于抽奖系统的思考与设计思路

    这篇文章主要介绍了Python关于抽奖系统的思考与设计思路,本文通过一些简单的例子来说一说抽奖系统背后的逻辑,看看究竟是你运气不好还是系统逻辑在作怪,需要的朋友可以参考下
    2023-03-03
  • Python中三种条件语句示例介绍

    Python中三种条件语句示例介绍

    大家好,本篇文章主要讲的是Python中三种条件语句示例介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • 使用Python发现隐藏的wifi

    使用Python发现隐藏的wifi

    今天与大家一起分享使用Python来发现隐藏的wifi,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python多线程入门学习

    Python多线程入门学习

    这篇文章主要介绍了Python多线程入门学习,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-12-12
  • Python源码学习之PyType_Type和PyBaseObject_Type详解

    Python源码学习之PyType_Type和PyBaseObject_Type详解

    今天给大家带来的是关于Python源码的相关知识学习,文章围绕着PyType_Type和PyBaseObject_Type展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • pandas中DataFrame重置索引的几种方法

    pandas中DataFrame重置索引的几种方法

    在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取、插入等,所以小编总结了几种索引重置的方法,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • numpy存取数据(tofile/fromfile)的实现

    numpy存取数据(tofile/fromfile)的实现

    本文主要介绍了numpy存取数据(tofile/fromfile)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论