爬虫反爬之代理IP
代理IP其实本就是在requests模块中的参数
定义: 代替原来的IP地址去对接网络的IP地址。
作用: 隐藏自身真实IP,避免被封。
-
获取代理IP网站
西刺代理、快代理、全网代理、代理精灵。。。
-
参数
proxies -
参数类型
1、语法结构 proxies = { \'协议\':\'协议://IP:端口号\' } 2、示例 proxies = { \'http\':\'http://IP:端口号\', \'https\':\'https://IP:端口号\' }
- 使用免费普通代理IP访问测试网站: http://httpbin.org/get
import requests
url = \'http://httpbin.org/get\'
headers = {
\'User-Agent\':\'Mozilla/5.0\'
}
# 定义代理,在代理IP网站中查找免费代理IP
proxies = {
\'http\':\'http://115.171.85.221:9000\',
\'https\':\'https://115.171.85.221:9000\'
}
html = requests.get(url,proxies=proxies,headers=headers,timeout=5).text
print(html)
-
私密代理
proxies = { \'协议\':\'协议://用户名:密码@IP:端口号\' } proxies = { \'http\':\'http://用户名:密码@IP:端口号\', \'https\':\'https://用户名:密码@IP:端口号\' }由于资金有限,不能购买10块钱的巨额代理,瞎编用户名及密码,仅仅示例而已
import requests url = \'http://httpbin.org/get\' proxies = { \'http\': \'http://xxxxxxx:xxxxxxx@122.114.67.136:16819\', \'https\':\'https://xxxxxxx:xxxxxxx@122.114.67.136:16819\', } headers = { \'User-Agent\' : \'Mozilla/5.0\', } html = requests.get(url,proxies=proxies,headers=headers,timeout=5).text print(html)
当然,穷人有穷人的做法,可以在代理平台上使用爬虫爬取代理IP,然后持续更新即可