博主信息
Laical
博文
11
粉丝
0
评论
0
访问量
6490
积分:0
P豆:30

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

2020年07月22日 17:09:54阅读数:280博客 / 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

  1. # 要访问的目标页面
  2. targetUrl = "http://httpbin.org/ip"
  3. # 要访问的目标HTTPS页面
  4. # targetUrl = "https://httpbin.org/ip"
  5. # 代理服务器(产品官网 www.16yun.cn)
  6. proxyHost = "t.16yun.cn"
  7. proxyPort = "31111"
  8. # 代理隧道验证信息
  9. proxyUser = "username"
  10. proxyPass = "password"
  11. proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
  12. "host" : proxyHost,
  13. "port" : proxyPort,
  14. "user" : proxyUser,
  15. "pass" : proxyPass,
  16. }
  17. # 设置 http和https访问都是用HTTP代理
  18. proxies = {
  19. "http" : proxyMeta,
  20. "https" : proxyMeta,
  21. }
  22. # 设置IP切换头
  23. tunnel = random.randint(1,10000)
  24. headers = {"Proxy-Tunnel": str(tunnel)}
  25. resp = requests.get(targetUrl, proxies=proxies, headers=headers)
  26. print resp.status_code
  27. print resp.text

假如你想要能够帮助你爬虫的代理IP,建议使用亿牛云高质量爬虫代理。

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • dhcp(IP)与ip:1、dhcp即获取IP地址,ip上网又被称为固定IP地址上网,需要手设置IP地址。2、ip不是一个真实IP地址,IP是可以直接上网IP地址。
    分析分析最主要是“是否考虑时间因素”,因为分析指是一种均衡状,而分析是相对于分析来讲分析是只改变一下自变量,因变量相应做出改变,改变一般是一次改变,且经济学阐述是一段时间状变化过程
    ip设置dhcp是获取IP是需要手输入IP地址DNS之类信息。
    解决网络叹号方法:首先在使用IP地址情况下,打开“网络共享中心-本地连接”;然后修改IP地址;接着在使用IP接入互联网情况下,重新设置自获取IPDNS;最后重新安装网卡驱程序,并重启计算机即可
    路由器无法自获取ip地址解决方法是:1、获取电脑ip地址;2、进入路由器,设置地址池范围租用时间;3、配置地址,添加目录,添加地址;4、设置无线安全;5、修改登录口令。
    :1、Java是面向对象语言,JavaScript是脚本语言,是基于对象事件驱语言。2、Java采用联编;Js采用联编。
    python中元组列表是:1、列表是数组,元组是数组;2、列表可以重设长度,改变其内部元素个数,元组不可变,内部数据一旦创建便无法改变。
    golangswoole:Go语言是本质上是语言,开发效率稍差,但性能更强,更适合底层软件开发;Swoole使用PHP语言,脚本语言,开发效率最佳,更适合应用软件开发。
    链表数组:1、数组分配内存,链表分配内存;2、 ​数组在内存中连续,链表不连续;3、数组元素在栈,链表元素在堆;4、数组利用下标定位,时间复杂度为【O(1)】,链表定位元素时间复杂度

    2020-01-13

    908

    java与js有:1、Java是一种真正面向对象语言,js是一种基于对象事件驱编程语言;2、Java采用强类型变量检查,js声明变量采用弱类型;3、java采用联编,js采用联编
    Javahtml是:1、Java是一种面向对象编程语言,而html是超文本标记语言;2、Java做服务器端逻辑处理,而HTML是网页前段展示语言;3、JAVA可以理解成主要是负责编程,而
    :1、Python是一种基于面向对象编程多范式,命令式函数式编程语言;Go是一种基于并发编程范式过程编程语言。2、Python是类型语言,而Go是一种类型语言。