当前位置:   article > 正文

Python爬虫——代理和代理池_python爬虫代理池

python爬虫代理池

Python爬虫——代理和代理池

1、代理

代理用处:

  • 突破自身IP访问限制,访问国外资源

  • 访问单位或公司内部资源

  • 提高访问速度

  • 隐藏自身IP

许多网站都会在一定的时间段内,通过流量统计、系统日志等方式来判断某个IP的访问量,而当 IP的访问量超过正常用户的时候,就会被屏蔽。因此,我们一般都会建立一个代理,定期更换一个代理,即使这个 IP被屏蔽了,也可以换另一个 IP继续访问。

urllib 模块使用代理

urllib 模块使用代理步骤:

  • 需要先用代理构建一个ProxyHandler处理器的类,参数是一个字典类型,内容为代理类型和代理服务器IP和端口,

  • 然后用ProxyHandler实例构建opener对象,

  • 最后用opener对象调用open()方法发送请求。

使用实例:

import urllib.request

url = 'http://www.ipaddress.my/?lang=zh_CN'

headers = {
    'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.5261 SLBChan/10'
}

request = urllib.request.Request(url=url,headers=headers)
#设置ip代理
proxy = {
    'http':'1.85.220.77:8118'

}
#构建ProxyHandler处理器
handler = urllib.request.ProxyHandler(proxies=proxy)
#构建opener的对象
opener = urllib.request.build_opener(handler)
#调用open()方法发送请求
response = opener.open(request)

content = response.read().decode('utf-8')

file = open('myIP.html','w',encoding='utf-8')
file.write(content)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

这些免费的代理IP通常有很多人在使用,而且有寿命短、速度慢、匿名度不高、HTTP/HTTPS支持不稳定等缺点,在访问url时可能会被拒绝访问:

在这里插入图片描述

如果需要使用高品质的安全的代理,可以在这购买

2、代理池

IP代理池

代理池就是自己去收集网上的可用免费代理,自建自己的代理池。然后在使用的时候从代理池中随机选择一个代理去访问网站。避免总是使用同一个IP去访问网站,减低被网站屏蔽的风险。

使用实例:自定义简易版的代理池

import random
 
proxy_list = [
    {"http" : "202.55.5.209:8090"},
    {"http" : "101.200.127.149:3129"},
    {"http" : "220.168.52.245:53548"},
    {"http" : "121.13.252.58:41564"},
    {"http" : "47.106.105.236:80"}
]
# 随机选择一个代理
proxy = random.choice(proxy_list)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

补充:User-Agent (用户代理)池,类似IP代理池,就是把多个浏览器的User-Agent数据放入列表中,然后再从中随机选择一个来使用。

使用User-Agent (用户代理)池,能够避免总是使用一个 User-Agent来访问网站,因为短时间内总使用同一个 User-Agent高频率访问的网站,可能会引起网站的警觉,从而屏蔽掉 IP。

自定义简易User-Agent (用户代理)池:

ua_list = [
    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11',
    'User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11',
    'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)',
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',
    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0',
    ' Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1',
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1',
    ' Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/209253
推荐阅读
相关标签
  

闽ICP备14008679号