返回顶部
首页 > 资讯 > 后端开发 > Python >Python异步爬虫requests和aiohttp中代理IP的使用
  • 196
分享到

Python异步爬虫requests和aiohttp中代理IP的使用

2024-04-02 19:04:59 196人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

爬虫要想爬的好,IP代理少不了。。现在网站基本都有些反爬措施,访问速度稍微快点,就会发现IP被封,不然就是提交验证。下面就两种常用的模块来讲一下代理IP的使用方式。话不多说,直接开始

爬虫要想爬的好,IP代理少不了。。现在网站基本都有些反爬措施,访问速度稍微快点,就会发现IP被封,不然就是提交验证。下面就两种常用的模块来讲一下代理IP的使用方式。话不多说,直接开始。

requests中代理IP的使用:

requests中使用代理IP只需要添加一个proxies参数即可。proxies的参数值是一个字典,key是代理协议(Http/https),value就是ip和端口号,具体格式如下。

try:
    response = requests.get('https://httpbin.org/ip', headers=headers, 
    	proxies={'https':'https://221.122.91.74:9401'}, timeout=6)
    print('success')
    # 检测代理IP是否使用成功
    # 第一种方式,返回发送请求的IP地址,使用时要在 get() 添加 stream = True
    # print(response.raw._connection.sock.getpeername()[0])
    # 第二种方式,直接返回测试网站的响应数据的内容
    print(response.text)
except Exception as e:
    print('error',e)

在这里插入图片描述

注意: peoxieskey值(http/https)要和url一致,不然会直接使用本机IP直接访问。

aiohttp中代理IP的使用:

由于requests模块不支持异步,迫不得已使用aiohttp,掉了不少坑。
它的使用方式和requests相似,也是在get()方法中添加一个参数,但此时的参数名为proxy,参数值是字符串,且字符串中的代理协议,只支持http,写成https会报错。
这里记录一下我的纠错历程。。
首先根据网上的使用方式,我先试了一下下面的代码。

async def func():
    async with aiohttp.ClientSession() as session:
        try:
            async with session.get("https://httpbin.org/ip", headers=headers, 
            			proxy='http://183.220.145.3:80', timeout=6) as response:
                page_text = await response.text()
                print('success')
                print(page_text)
        except Exception as e:
            print(e)
            print('error')

if __name__=='__main__':
    asyncio.run(func())

在这里插入图片描述

修改后,再来

async def func():
    con = aiohttp.tcpConnector(verify_ssl=False)
    async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=False)) as session:
        try:
            async with session.get("https://httpbin.org/ip", headers=headers, 
            proxy='http://183.220.145.3:80', timeout=6) as response:
                # print(response.raw._connection.sock.getpeername()[0])
                page_text = await response.text()
                print(page_text)
                print('success')
        except Exception as e:
            print(e)
            print('error')

在这里插入图片描述

非但没有解决反倒多了一个警告,好在改一下就好。额~懒得粘了,直接来最终版本吧。。

# 修改事件循环的策略,不能放在协程函数内部,这条语句要先执行
asyncio.set_event_loop_policy(asyncio.windowsSelectorEventLoopPolicy())
async def func():
	# 添加trust_env=True
    async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(ssl=False), trust_env=True) as session:
        try:
            async with session.get("https://httpbin.org/ip", headers=headers,
             proxy='http://183.220.145.3:80', timeout=10) as response:
                page_text = await response.text()
                print(page_text)
                print('success')
        except Exception as e:
            print(e)
            print('error')

在这里插入图片描述

虽然纠错过程有点长,但好在知道怎么用了。

 到此这篇关于python异步爬虫requests和aiohttp中代理IP的使用的文章就介绍到这了,更多相关requests和aiohttp中代理IP内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python异步爬虫requests和aiohttp中代理IP的使用

本文链接: https://lsjlt.com/news/140999.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python异步爬虫requests和aiohttp中代理IP的使用
    爬虫要想爬的好,IP代理少不了。。现在网站基本都有些反爬措施,访问速度稍微快点,就会发现IP被封,不然就是提交验证。下面就两种常用的模块来讲一下代理IP的使用方式。话不多说,直接开始...
    99+
    2024-04-02
  • python 基于aiohttp的异步爬虫实战详解
    目录引言aiohttp是什么requests和aiohttp区别安装aiohttpaiohttp使用介绍基本实例URL参数设置请求类型响应的几个方法超时设置并发限制aiohttp异步...
    99+
    2024-04-02
  • python爬虫之requests库使用代理方式
    目录安装上requests库GET方法谷歌浏览器的开发者工具POST方法使用代理在看这篇文章之前,需要大家掌握的知识技能: python基础html基础http状态码 让我们看看这篇...
    99+
    2024-04-02
  • python 爬虫如何使用代理IP
    作为一名数据采集者,我们都是知道,一个网站要是频繁访问都会被封IP,那要怎么解决这个问题呢?不可能一直频繁的更换设备,不光数据不能同步,这些设备的成本也是无法预计的,所以这个时候就需要代理IP了。以亿牛云(https://www.16yun...
    99+
    2023-06-02
  • Python实现的异步代理爬虫及代理池
    使用python asyncio实现了一个异步代理池,根据规则爬取代理网站上的免费代理,在验证其有效后存入redis中,定期扩展代理的数量并检验池中代理的有效性,移除失效的代理。同时用aiohttp实现了一...
    99+
    2022-06-04
    爬虫 Python
  • Python爬虫中使用代理IP有什么作用
    本篇内容主要讲解“Python爬虫中使用代理IP有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫中使用代理IP有什么作用”吧!web爬虫程序会大规模爬网数据,所以为了避免...
    99+
    2023-06-20
  • 如何使用爬虫代理IP
    这篇文章给大家介绍如何使用爬虫代理IP,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。进入网站-品易云http代理-点击api提取。选择自己需求内容,点击【提取代理IP】然后根据需要选择提取数量、代理协议、格式等,然后点...
    99+
    2023-06-14
  • 怎么使用爬虫代理IP
    本篇内容介绍了“怎么使用爬虫代理IP”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在网络数据时代,许多信息需要整理和使用。然而,面对如此大量...
    99+
    2023-06-20
  • Python 爬虫使用代理 IP 的正确方法
    代理 IP 是爬虫中非常常用的方法,可以避免因为频繁请求而被封禁。下面是 Python 爬虫使用代理 IP 的正确方法: 选择可靠的代理 IP 供应商,购买或者免费使用代理 IP 列表。 2. 在爬虫中使用第三方库 requests ,并...
    99+
    2023-09-01
    python 开发语言
  • Python爬虫Requests库的使用详情
    目录一、Requests库的7个主要的方法二、Response对象的属性三、爬取网页通用代码四、Resquests库的常见异常五、Robots协议展示六、案例展示一、Requests...
    99+
    2024-04-02
  • Python 网页爬虫原理及代理 IP 使用
    目录 前言 一、Python 网页爬虫原理 二、Python 网页爬虫案例 步骤1:分析网页 步骤2:提取数据 步骤3:存储数据 三、使用代理 IP 四、总结 前言 随着互联网的发展,网络上的信息量变得越来越庞大。对于数据分析人员和研究...
    99+
    2023-09-14
    python 爬虫 tcp/ip
  • 在Python爬虫过程中怎么使用代理IP
    这篇文章主要介绍了在Python爬虫过程中怎么使用代理IP,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python是什么意思Python是一种跨平台的、具有解释性、编译性、...
    99+
    2023-06-14
  • python异步爬虫机制的原理
    python异步爬虫机制的原理?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、说明默认情况下,在使用get请求时,会出现堵塞,需要很多时间等待,如果有很多请求url,速度会变...
    99+
    2023-06-15
  • Python爬虫所需要的爬虫代理ip是什么
    本篇内容主要讲解“Python爬虫所需要的爬虫代理ip是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫所需要的爬虫代理ip是什么”吧!1 代理类型代理IP一共可以分成4种类型...
    99+
    2023-06-02
  • 爬虫怎么使用ip代理池
    这篇文章主要讲解了“爬虫怎么使用ip代理池”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“爬虫怎么使用ip代理池”吧!1、利用IP代理池技术,每次从IP代理池中随机选择一个IP代理来爬取数据。...
    99+
    2023-06-20
  • python爬虫之代理ip怎么正确使用
    在Python中使用代理IP进行爬虫需要使用第三方库,比如requests库。以下是使用代理IP的正确步骤:1. 导入request...
    99+
    2023-08-17
    python
  • python爬虫之requests库的使用详解
    目录python爬虫—requests库的用法基本的get请求带参数的GET请求:解析json使用代理获取cookie会话维持证书验证设置超时异常捕获异常处理 总结 python爬虫...
    99+
    2024-04-02
  • Python 爬虫IP代理池的实现
    Python 爬虫IP代理池的实现 很多时候,如果要多线程的爬取网页,或者是单纯的反爬,我们需要通过代理 IP来进行访问。下面看看一个基本的实现方法。 代理 IP ...
    99+
    2024-04-02
  • python爬虫怎么利用requests制作代理池s
    本篇内容介绍了“python爬虫怎么利用requests制作代理池s”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  爬取代理然后验证代理,...
    99+
    2023-06-02
  • Python爬虫中免费代理IP和付费代理IP的区别有哪些
    这篇文章给大家分享的是有关Python爬虫中免费代理IP和付费代理IP的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、免费代理IP和付费代理IP的区别免费代理IP是免费的,没有人维护,资源本身质量不...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作