网络爬虫与代理IP的关系,很多人都是知道的,不过虽然知道我们在使用爬虫进行抓取网页时要使用代理IP,但这如何使用的方法其实很多人都不知道的。不同爬虫设置代理的方法可能是不一样的,不通用,这样大家就需要多学习几个使用代理IP的方法,下面小编介绍Python调用代理IP的几个方法:
1.Selenium调用代理
from selenium import webdriver
proxy='123.58.10.36:8080'
chrome_options=webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://'+proxy)
browser=webdriver.Chrome(chrome_options=chrome_options)
browser.get('http://httpbin.org/get')
2.requests调用代理
import requests
proxy='123.58.10.36:8080' #本地代理
#proxy='username:password@123.58.10.36:8080'
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('错误:',e.args)
3.urllib调用代理
from urllib.error import URLError
from urllib.request import ProxyHandler,build_opener
proxy='123.58.10.36:8080' #使用本地代理
#proxy='username:password@123.58.10.36:8080' #购买代理
proxy_handler=ProxyHandler({
'http':'http://'+proxy,
'https':'https://'+proxy
})
opener=build_opener(proxy_handler)
try:
response=opener.open('http://httpbin.org/get') #测试ip的网址
print(response.read().decode('utf-8'))
except URLError as e:
print(e.reason)
以上介绍了三种关于代理IP的调用方法,仅供参考。并没有汇总全部的使用方法,而且每一个人都有自己的使用习惯,如果你有更好的方法,可以分享出来学习的。对于代理IP的使用,小编使用IP代理精灵也是不错的,IP的数量以及匿名性都符合网络爬虫的需求。