动态ip
,对这方面不了解的小伙伴正好可以一起学习一下。在了解 动态IP代理
之前,首先要了解什么是网络ip地址。IP地址
是指互联网协议也就是大家常说的互联网IP。
网络ip 是IP协议提供的统一地址格式转换。它为移动互联网上的每个网络数据和每个主机配置了一个逻辑地址,以影响物理地址。
如果没有,你的计算机网络就无法访问互联网,比如没有电话号码就无法拨号。
动态网络ip
通常会发生变化。当专用设备访问网络数据时,动态网络ip总是会发生变化。当专用设备试图访问网络数据时,DHCP计算机网络的供应是动态的。当用户在网页上输入网址时,DNS计算机网络将网站域名投影到网络ip上。
动态代理IP,字面意思来说这个IP会随时随机发生变化,不是固定的,就是动态代理IP。动态代理IP一般会有网络爬虫用户使用。
动态IP 分为 长效代理 和 短效代理:
动态代理IP 还分为透明代理,匿名代理,高匿代理。 以此可以看出代理IP的质量强度。对于网络爬虫来说可以根据自己的需求来购买定制需要动态IP。
高匿代理自然也是动态代理IP类型中质量最好的一种,不少的企业爬虫用户都会选择隧道转发的高匿爬虫代理IP来给业务提供需要,保证自己的业务效果和质量。
透明代理和匿名代理虽然也是代理IP,但是大大降低的爬虫业务的进展和效率,所以网络爬虫选择隧道转发的爬虫代理才是正确选择。
因为每一次路由器重启,如果IP是公网的就会发生改变,如果是静态IP,就需要重启光猫才会变动公网IP。这种方法时间久,步骤麻烦,效率低,不适合一些大公司的需求。
远程桌面连接后,每次拔号就可以更换一次IP,但是地址是随机的,不过都是在中国的省份,也可以选择单地域拔号VPS,拨出来的是独立一个地域其他IP。这个办法会比重启路由器省时省力,但是一台拔号VPS,只可以运用一个IP。
简单介绍了一下动态代理IP的概念和好处,再来说说怎样申请这个 动态代理IP 。
目前有很多的代理IP网站,根据稳定性和安全性对比价格差异很大。这里我简单推荐一个我在使用的网站,大家也可以自行查找。
那我这里使用的是 IPIDEA ,现在新用户有500M流量白嫖,正好我们可以拿来做实验。
进入网站之后点击 获取代理 -> API获取
然后根据自己的喜好选择 数量和地区,其他的使用默认选项即可,然后点击下面的 生成链接
如果没有实名认证的话会跳出这个界面,点击认证就好
然后复制我们生成的链接,这个链接要保存好,后面使用Python爬取的时候会用到。
把链接单独复制再打开就会看到刚才生成的IP,这部分可以用于我们自己的浏览器手动设置使用。
根据浏览器设置动态IP代理,通过变动电脑浏览器更改IP,用于浏览其他的网页。但是对于需要经常更换IP其他消费者而言,还是没有这么方便的。
上一步中我们获取到了一个 ip代理池,接下来拿QQ浏览器示例,简单看一下怎样使用这些代理ip。 在QQ浏览器菜单列表内 - 设置 - 高级 - 网络 - 更改代理服务器设置
在弹出的Internet属性窗口,点击局域网设置
填写我们复制的 IP 和 端口号,并点击 确定
打开百度/谷歌搜索引擎,搜索:IP,查看当前代理后的IP地址
到这里我们就是成功使用 代理ip 了,接下来使用 该代理ip 就可以干一些其他事情了~
但是这只是一个最简单的用法,更高级的应该是在使用爬虫的时候使用该动态IP代理池达到一个更好的效果。
下面就来简单写一个使用 动态代理ip 获取Steam 热销商品 示例
使用Python写一个简单的 ip代理 示例,后面使用Python爬一些其他数据的时候都可以参照。
直接使用 requests
模块来做,然后再加一个随机请求头模块 fake_useragent
和 UserAgent
。
下面就以 Steam 热销商品
做一个简单的示例,界面内容如下:
完整代码如下所示,注释很详细,就不多做说明了。
# 微信搜索:[呆呆敲代码的小Y],回复[白嫖]获取超多精品编程学习资料!!
# 爬虫使用代理IP
# 导入模块:requests、fake-useragent、UserAgent
import requests
from fake_useragent import UserAgent
# 要访问的url地址
url='https://store.steampowered.com/search/?filter=topsellers'
# 随机请求头
headers={'User-Agent':UserAgent().random}
# 代理ip 的API(IPIDEA网站获取的)
api_url='http://tiqu.ipidea.io:81/abroad?num=100&type=1&lb=1&sb=0&flow=1®ions=&port=1'
res = requests.post(api_url,headers=headers, verify=True)
# proxies = {'协议': '协议://IP:端口号'}
proxie = "https://%s"%(res.text)
proxies = {'http': proxie}
# 打印所有的代理ip
print(proxies)
# 访问Youtube游戏模块测试并输出结果
html=requests.get(url=url,headers=headers,proxies=proxies).text
print(html)
# 微信搜索:[呆呆敲代码的小Y],回复[白嫖]获取超多精品编程学习资料!!
运行效果所示:
获取Steam 热销商品 的完整信息如下:
这里只是演示了 使用 动态代理ip 获取Steam 热销商品 示例,利用好 动态代理ip 能用的事情可就更多了,大家自行体验吧!
只要能用爬虫的地方,我们可以自定义一个时间自动切换ip,这样在爬取大量数据的时候就会避免被限制访问,提高爬虫效率。
优质专栏分享 |
---|