爬虫动态IP和静态IP的区别

回复
laical
崭露头角
崭露头角
帖子: 20
注册时间: 2020年03月26日 17:45
联系:

爬虫动态IP和静态IP的区别

帖子 laical »

动态ip地址指的是在需要的时候才进行动态ip地址分配的方式。动态ip地址和静态ip地址是对应的。所谓动态就是指当你每一次上网时,运营商会随机分配一个动态ip地址,静态指的是固定分配一个动态ip地址,每次都用这一个地址。
对于动态IP来说,需要在连接网络时自动获取IP地址,以供用户正常上网,而静态IP是ISP或网络设备分配给用户的IP地址,可以直接连接上网,这样就不需要获取IP地址。可能现在很多用户对动态IP和静态IP的认识,还停留在获取IP或固定IP的概念上,下面就让小编来为大家介绍更多信息。
静态IP应该叫做固定IP,运营商给了你固定IP也会告诉你对应的掩码与网关,然后你可以把这个IP配置在本地连接里,这样你开机的时候就少了一个获取IP的过程,当然可以忽略不记。其实固定IP多数用于对外发布的服务器,大家都知道,我们打网页时输入的全是网址,而DNS服务器可以通过网址知道你的服务器IP,从而提供服务,如果你不用固定IP,而让服务器总是获取,那DNS就不知道把你的网址指向哪个IP了,也就提供不了服务了。
静态IP与动态IP的区别
那怎么还会存在静态IP的用户,而不是所有人来增加IP地址的使用灵活性,使用用动态IP呢?其实还是DNS的原因。当我们想访问百度的时候,我们就在浏览器输入地址,但是在网络中,数据传输是以IP作为原、目的地址,而不是一个网址域名,DNS作用就是将网站域名翻译成IP,方便用户记忆。 故为了不经常更新dns的记录,静态IP地址的优势作用就是凸显出来了。
动态IP并非是一个固定的IP,而是可以重新拨号后发生变化的,而动态域名则是提供的域名动态解析,以便用户在无法记住动态IP地址的时候y地址的时候用动态域名来连接网络。
静态IP则可以直接上网,该IP在ISP运营商装专线时会划分一个固定的IP地址,大大增加了连接网络的稳定和便捷性。从而避免了网络连接上的困扰。
以上就是静态IP和动态IP的不同,静态IP有一个不算缺点的缺点 ,就是费用会高一点,动态IP则会便宜点,但是各有各的好处,大家根据自己的用途可以自行选择。
爬虫使用动态代理IP
在数据信息变的越发重要的时候,咱们可以从许多场所去取得数据源,不过要控制好数据抓取的方式,今天介绍一下数据抓取怎么样可以避免出现IP封停问题。
爬虫如何解决IP封锁问题,本地根据程序抓取其他人网站内容,如遇封停IP,则可采用以下的方式处理:
1、技术处理:在程序中使用伪装术,不明目张胆的爬,使用代理,使用高级爬虫爬去数据信息
2、网络处理;封停IP后,本地IP不能访问该网站,不过设置了代理服务器后,浏览器可以访问该网站,可以在命令行加路由,一般格式为:routeaddIP地址mask子网掩码默认网关前提:把掩码要改成跟上面掩码一样。这个路由重新开机就没有了。可以routeadd-pIP地址mask子网掩码默认网关。这样的话,重新开机都在的。
使用ADSL拨号最大的的有点就是:IP不固定,重启下路由就可以换一个新的IP了。而且ISP拥有大量的IP,会分配到和之前相同的IP机率很低。一旦你发现目前的IP被封锁,便可以立刻呼叫相关的API将网络断线并重新拨号,取得新的IP继续执行。
3、简单处理,随时动态更换IP;如果在公司封停IP,则可考虑重启路由,重新获取公网IP,自动更改IP地址反爬虫封锁,支持多线程。
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
假如你想要能够帮助你爬虫的代理IP,建议使用亿牛云高质量爬虫代理。
回复

在线用户

正浏览此版面之用户: 没有注册用户 和 0 访客