当前位置:AIGC资讯 > 数据采集 > 正文

python爬虫代理ip

代理ip
爬虫去爬取网站数据的数据的时候,如果单位时间内爬取频次过高,或者其他的原因,被对方识别出来,ip可能会被封禁。这种情况下,通过使用代理ip来解决,作为反爬的策略。

代理ip匿名度:

透明的: 服务器知道了你使用代理ip,也知道你真实的ip 匿名代理: 知道使用了代理ip,不知道真实的ip 高匿代理: 不知道使用了代理ip,也不知道真实的ip(最好的选择)

查看ip 的方法:

在cmd输入命令行:ipconfig(内网的ip——私有的地址) 浏览器访问:ipip.net (外网,上网的ip)

如果设置代理ip,可以通过httpbin.org/ip来查看。不设置代理ip查看则显示我们的真实ip。即上边的外网ip,上网的ip。

代理可以从快代理或豌豆代理处付费获得。(也有可以免费试用的的几个)

查看我们的真实ip的代码:

import requests
url = "http://httpbin.org/ip"
res = requests.get(url)
print(res.text)

输出结果显示真实ip。

设置代理ip:

# 设置一个代理ip,以字典形式呈现,代理ip写在字典值中
proxy = {
    'http': 'xxx.xx.xxx.xxx:xxxx'
}
res = requests.get(url, proxies=proxy)
print(res.text)

输出结果显示设置的代理ip。

选出5个ip为例,从中随机选择一个试用,选5次,且出现异常时避免报错。时间间隔设置为1。

'''
36.6.149.154:xxx
114.233.125.55:xxxxx
117.26.229.24:xxx
122.241.27.24:xxxxx
61.132.171.215:xxx
'''
import random
ips = [('36.6.149.154:xxx'),('114.233.125.55:xxxxx'),('117.26.229.24:xxx'),('122.241.27.24:xxxxx'),('61.132.171.215:xxx'),]
url = 'http://httpbin.org/ip'
for i in range(5):
    try:
        ip = random.choice(ips)
        res = requests.get(url, proxies={'http':ip}, timeout=1)
        print(res.text)
    except Exception as e:
        print('出现异常', e)

更新时间 2023-11-08