帮助中心

   

热门搜索: 免费续期  推广  永久会员

设置User Agent后,为什么要用代理IP?

为什么User Agent通常都要跟代理IP一起使用?代理IP在这当中起到什么作用呢?今天,迅联加速为大家带来这个问题的全面解答,看看代理IP的功效吧。

设置User Agent后使用代理IP

代理IP的使用:

为什么要使用IP代理?

User Agent已经设置好了,但是还应该考虑一个问题,程序的运行速度是很快的,如果我们利用一个爬虫程序在网站爬取东西,一个固定IP的访问频率就会很高,这不符合人为操作的标准,因为人操作不可能在几ms内,进行如此频繁的访问。所以一些网站会设置一个IP访问频率的阈值,如果一个IP访问频率超过这个阈值,说明这个不是人在访问,而是一个爬虫程序。

迅联加速一般步骤说明:

一个很简单的解决办法就是设置延时,但是这显然不符合爬虫快速爬取信息的目的,所以另一种更好的方法就是使用IP代理。使用代理的步骤:

(1)调用urlib.request.ProxyHandler(),proxies参数为一个字典。

(2)创建Opener(类似于urlopen,这个代开方式是我们自己定制的)

(3)安装Opener

使用install_opener方法之后,会将程序默认的urlopen方法替换掉。也就是说,如果使用install_opener之后,在该文件中,再次调用urlopen会使用自己创建好的opener。如果不想替换掉,只是想临时使用一下,可以使用opener.open(url),这样就不会对程序默认的urlopen有影响。

代码实例:

创建文件urllib_test11.py,编写代码如下:

# -*- coding: UTF-8 -*-

from urllib import request

if __name__ == “__main__”:

#访问网址

url = ‘http://www.whatismyip.com.tw/’

#这是代理IP

proxy = {‘http’:’106.46.136.112:808′}

#创建ProxyHandler

proxy_support = request.ProxyHandler(proxy)

#创建Opener

opener = request.build_opener(proxy_support)

#添加User Angent

opener.addheaders = [(‘User-Agent’,’Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36′)]

#安装OPener

request.install_opener(opener)

#使用自己安装好的Opener

response = request.urlopen(url)

#读取相应信息并解码

html = response.read().decode(“utf-8”)

#打印信息

print(html)

代理IP来换IP能够让正在爬取的网站认为我们的操作是正常的用户访问,这样我们的数据抓取就不会被拦截,能够放心的使用。

关闭
19907977089
关注微信公众号,免费送30分钟时长