简单记录一下几种常用的使用ip代理的方法
下面代码里的所有ip都是从代理网站拿的,可用性极低
1,urllib
#urllib设置ip
from urllib.error import URLError
from urllib.request import ProxyHandler,build_opener
#proxy的格式为ip:端口号
proxy = "60.13.42.8:9999"
#需要认证的代理可以写成如下格式,username为用户名,password为密码
# proxy = "username:password@ip:端口号"
proxy_handler = ProxyHandler({
'http':'http://' + proxy,
'https' : 'https://' + proxy
})
opener = build_opener(proxy_handler)
try:
#测试请求网站为httpbin
response = opener.open("http://httpbin.org/get")
print(response.read().decode('utf-8'))
except URLError as e:
print(e.reason)
2,requests
#requests设置代理
import requests
proxy = "121.225.67.109:3128"
#需要认证的代理可以写成如下格式,username为用户名,password为密码
# proxy = "username:password@ip:端口号"
proxies = {
'http':'http://' + proxy,
'https':'https://' + proxy
}
try:
response = requests.get('http://httpbin.org/get',proxies=proxies)
print(response.text)
except requests.exceptions.ConnectionError as e:
print("Error:",e.args)
3,selenium+chromedriver
#selenium+chrome设置代理
from selenium import webdriver
proxy = '117.90.6.32:9000'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://'+proxy)
driver = webdriver.Chrome(chrome_options=chrome_options,executable_path='D:\pythontools\chromedriver.exe')
driver.get('http://httpbin.org/get')
以后会陆续补充这篇博客
另外,学习崔老师的文章,做代理池的时候遇到一个bug,查了好久也不知道为啥,贴一下,求解:
.utils的导入一直报错,搜也搜不到这个模块,百度也没多少有眉目的解决方法。