爬虫之代理ip的应用
在爬虫的过程中,我们经常会遇见很多网站采取了防爬虫技术,或者说因为自己采集网站信息的强度和采集速度太大,给对方服务器带去了太多的压力。
如果一直用同一个代理ip爬取这个网页,很有可能ip会被禁止访问网页,所以基本上做爬虫的都躲不过去ip问题。
爬虫使用ip代理的案例
import requests
# 定义请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36',
}
# 加入代理:使用proxies参数,接收字典
proxy = {
# 格式:
# '协议':'协议://ip地址:端口号'
# 注:代理ip的协议为http
'http':'http://119.14.253.128:8088'
}
# 注意:
# 代理的使用,如果代理服务器的协议和目标网站的协议不同,就不会使用代理ip,使用的是自己的ip
# 所以这次爬取并没有使用代理ip,而是使用自己的ip进行的爬取,如果读者想要进行更多的尝试,可找一些http的网站进行尝试
# 发起请求,接收响应
# response = requests.get(
# 注:请求地址的协议为https,与代理ip的协议不同,实际上是用自己的ip进行爬取
url='https://www.baidu.com/',headers=headers,
proxies=proxy
)
response = requests.get(
url='https://httpbin.org/ip',
headers=headers,
proxies=proxy
)
# 保存
# with open('baidu.html','w',encoding='utf-8') as fp:
# fp.write(response.text)