python爬虫一定要设置请求头吗(Python爬虫request如何设置代理IP)

发布日期:2024-12-22 06:44:21     作者:靑樓男孓     手机:https://m.xinb2b.cn/know/fjm493033.html     违规举报

在我们书写爬虫程序的时候,可能都多多少少会遇到ip被封的问题,或者说ip被限制的问题,那么就需要用到ip代理了,那么ip代理在request里面的原理究竟是怎么实现的呢?下面和神龙IP一起来了解一下。


一、单个ip设置代理

import urllib.request

def create_handler():

url = 'http://httpbin.org/ip'

# 添加代理

proxy = {

# 'http': 'http://119.5.72.6:4226' # 这是官方定义的

'http': '119.5.72.6:4226'

}

# 代理处理器

proxy_handler = urllib.request.ProxyHandler(proxy)

# 创建自己的opener

opener = urllib.request.build_opener(proxy_handler)

# 拿着代理ip去发送请求

data = opener.open(url).read()

print(data)

if __name__ == '__main__':

create_handler()

二、多个ip设置代理

import urllib.request

def proxy_handel():

proxy_list = [

{'http': '125.111.149.163:4205'},

{'http': '106.46.136.93:4225'},

{'http': '114.230.18.38:4228'},

{'http': '115.151.50.141:4273'},

{'http': '182.105.201.153:4275'},

]

for proxy in proxy_list:

print(proxy)

# 创造处理器

proxy_head = urllib.request.ProxyHandler(proxy)

# 创建opener

opener = urllib.request.build_opener(proxy_head)

try:

print(opener.open('http://httpbin.org/ip', timeout=1).read())

print('=='*20)

except Exception as e:

print(e)

if __name__ == '__main__':

proxy_handel()

 
 
本文地址:https://xinb2b.cn/know/fjm493033.html,转载请注明出处。

推荐图文
推荐经验知识
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  蜀ICP备18010318号-4  |  百度地图  | 
Processed in 0.038 second(s), 1 queries, Memory 0.57 M