换ip软件,代理ip软件,更改ip地址-智游代理
首页 IP软件套餐 HTTP代理套餐 API提取 使用帮助 新闻资讯 长效IP 注册 登录 实名验证

在线咨询

800819380 售前客服
在线客服,实时响应

客户经理:
13326404693

473197630 QQ群
473197630

微信客服

您的位置: 首页 > 新闻资讯 > 爬虫代理 > 正文

Python爬虫通过ip代理抓取网页

发布时间:2020年02月04日 来源:智游代理 www.zhiyoudaili.com

如果大家在采集网站信息的时候,特别频繁的来访问,非常容易被目标网站检测到从而进行屏蔽,解决这类情况的一种有效的方法就是使用代理IP,当我们连上网络上网的时候,电脑会被分配一个IP,提供给我们使用,如果我们频繁访问一个网站时,这个网站也会因为发现同一个ip地址访问多次而进行屏蔽的,这个时候更换IP地址访问是最好的解决方式,多个ip地址进行随机地轮流访问,减少被该网站检测到的概率。假如我们再使用多个不同的headers请求头,这样就会有多个ip+主机的组合,浏览时被发现的机率又更加降低了。

Python爬虫通过ip代理抓取网页

关于代码中ip代理的使用,下面介绍一下:

步骤:

1、urllib2库中的ProxyHandler类,通过此类可以使用ip代理访问网页

proxy_support=urllib2.ProxyHandler({}),其中参数是一个字典{‘类型':'代理ip:端口号'}

2、定制、创建一个opener

opener=urllib2.build_opener(proxy_support)

3、(1)安装opener

urlib2.install_opener(opener)

(2)调用默认的opener

opener.open(url)

针对没有反爬虫机制的网站,只要直接像上面引入ProxyHandler类进行处理,下面以访问csdn主页为例:

import urllib

url="http://www.csdn.net/"

for i in range(0,10000):

html=urllib.urlopen(url)

print html.info()

print i

当使用上述代码时,当循环到20时,就会出现下面的错误

Traceback(most recent call last):

File"C:/Users/lenovo/PycharmProjects/untitled1/jt2/__init__.py",line 19,in

html=urllib.urlopen(url)

File"C:\Python27\lib\urllib.py",line 87,in urlopen

return opener.open(url)

File"C:\Python27\lib\urllib.py",line 213,in open

return getattr(self,name)(url)

File"C:\Python27\lib\urllib.py",line 350,in open_http

h.endheaders(data)

File"C:\Python27\lib\httplib.py",line 997,in endheaders

self._send_output(message_body)

File"C:\Python27\lib\httplib.py",line 850,in _send_output

self.send(msg)

File"C:\Python27\lib\httplib.py",line 812,in send

self.connect()

File"C:\Python27\lib\httplib.py",line 793,in connect

self.timeout,self.source_address)

File"C:\Python27\lib\socket.py",line 571,in create_connection

raise err

IOError:[Errno socket error][Errno 10060]

这是由于用的电脑的单一ip进行反复访问才被检测出来的。

下面是使用了ip代理的代码:

import urllib2

import random

def getHtml(url,proxies):

random_proxy=random.choice(proxies)

proxy_support=urllib2.ProxyHandler({"http":random_proxy})

opener=urllib2.build_opener(proxy_support)

urllib2.install_opener(opener)

html=urllib2.urlopen(url)

return html

url="http://www.csdn.net/"

proxies=["101.53.101.172:9999","171.117.93.229:8118","119.251.60.37:21387","58.246.194.70:8080"

"115.173.218.224:9797","110.77.0.70:80"]

for i in range(0,10000):

try:

html=getHtml(url,proxies)

print html.info()#打印网页的头部信息,只是为了展示访问到了网页,可以自己修改成想显示的内容

print i

except:

print"出现故障"

这段代码在测试1096次时被检测到了,要知道我的列表中仅有6个ip,倘若增加ip的个数,那么被发现的几率会不会更低。对于上面例子中的ip代理,或许过段时间就不可以使用了,这就要我们自己去搜新的IP代理来更换。还有程序中的异常处理是为了使程序可以处理ip代码访问时出现问题的情况,因为有些ip代理在访问的时候会出现故障的,这样做了可以使程序更加健壮。

#网上的ip不一定都能使用的,要多试试,或是选择智游代理,更稳定安全

myproxies=["220.189.249.80:80","124.248.32.43:80"]

html=get_html(url,user_agents,myproxies)

print html.read()


转载注明来自:智游代理IP http://www.zhiyoudaili.com/

相关文章内容简介

1 通用的爬虫系统有哪些类型?

通用的爬虫系统有哪些类型?爬虫技术就是一个高效的下载系统,能够将海量的网页数据传送到本地,在本地形成互联网网页的镜像备份。根据具体应用的不同,爬虫系统虽然在许多细节方面存在差异,但大体可以将爬虫系统分为如下3种类型:一、批量型爬虫:批量型爬虫有比较明确的抓取范围和目标,当爬虫达到这个设定的目标后,即停止抓取过程。至于具体目标可能各异,也许是设定抓取一定数量的网页即可,也许是设定抓取的时间等,各不一样;二、增量型爬虫:增量型爬虫与批量型爬虫不同,会保持持续不断地抓取,对于抓取到的网页,要定期更新。因为互联网网页处于不断变化中,新增网页、网页被删除或者网页内容更改都很常见,而增量型爬虫需要及时反映这种变化,所以处于持续不断的抓取过程中,不是在抓取新网页,就是在更新已有网页。通用的商业搜索引擎爬虫基本都属此类;三、垂直型爬虫:垂直型爬虫关注特定主题内容或者属于特定行业的网页,比如对于养生网站来说,只需要从互联网页面里找到与养生相关的页面内容即可,其他行业的内容不在考虑范围。垂直型爬虫一个最大的特点和难点就是:如何识别网页内容是否属于指定行业或主题。从节... [阅读全文]

2 网络爬虫伪装有哪些方式?

爬虫和反爬虫一直相爱相杀着:没有爬虫,反爬虫毫无存在的意义;有了反爬虫,爬虫的日子也别想好过。爬虫每天都在想怎么甩了反爬虫,反爬虫则是每天都在想怎么黏住爬虫,它们不断地在对抗中,不断地在提升自己,谁落后谁就要输。爬虫在此期间为了甩开反爬虫自创了一招技能——伪装术,这技能又分为三招,分别是:伪装UA、伪装IP和伪装真实用户。下面我们来将技能进行分解,希望对新手朋友们有所帮助。一、伪装UA。UA全称是User-Agent,叫做用户代理,不同的浏览器UA各有不同。反爬虫会根据UA来判断某个IP是否爬虫,所以需要进行伪装。网上有很多UA,搜集起来写在自己的配置里,在添加UA的时候随机选一个,这样毫无规律地设置UA,会让反爬虫傻眼;二、伪装IP。很多时候反爬虫都是根据单IP的行为来判断是否爬虫,比如某IP访问频率太快,访问次数太多了……反爬虫就会限制IP再次访问。解决方法也很简单,找代理IP服务商购买高效稳定的代理IP,比如智游代理的动态高质量代理;三、伪装真实用户。这个伪装技术就比较厉害了,反爬虫不可能杀死真实用户,不然网站就没什么意义了。那么如何伪装真... [阅读全文]

热门标签

推荐阅读

  1. 11

    2019-05

    爬虫过程中代理ip的使用

    目前很多网站都会设置相对应的防爬虫机制,这是因为有一部分人在实际的爬虫主权过程中会进行恶意采集或者恶意攻击,通常情况下,防爬虫程序是通过IP来识别哪一些是机器人用户,因此可

  2. 13

    2019-05

    爬虫动态代理IP是什么?使用范围有哪些?

    爬虫动态代理IP是什么?使用范围有哪些?爬虫动态代理IP是智游代理提供的切换速度快、100%有效、高度可匿的代理IP,具体参考短效代理动态代理IP。智游代理IP有效期有1分钟、2分钟,5分钟三

  3. 11

    2019-02

    Python爬虫:如何掌握爬取大规模数据

    如果你仔细观察,就不难发现,懂爬虫、学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样的编程语言提供越来越多的优秀工具,

  4. 12

    2019-12

    爬虫用代理ip解决封禁

    随着大数据时代的到来,很多做爬虫要用到代理IP​,爬虫已经成了获取数据的必不可少的方式,在使用爬虫多次爬取同一网站时,经常会被网站的IP反爬虫机制给禁掉,为了解决封禁IP的问题,

  5. 01

    2019-02

    python怎么使用代理ip

    ​经常使用爬虫的人都知道,在爬取网站的时候,高强度、高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,

  6. 23

    2019-05

    如何通过动态VPS代理IP保证爬虫程序稳定运行

    使用爬虫代理IP的最佳方案是用智游代理在服务器上维护一个IP池,这样才能更有效的保障爬虫工作的高效稳定持久的运行,那么怎么在本地维护IP池呢?一、在代理服务商认可的调用API频率下尽