作者:IPIDEA
2022-10-11 11:03:06
在做爬虫的过程中,我们经常会遇到这样的情况:一开始爬虫运行正常,抓取数据正常,一切看起来都那么美好,但是一杯茶可能会出错,比如403Forbidden;这通常是因为网站采取了一些访问虫措施。例如,服务器将检测到一个特定的爬虫。IP如果单位时间内的请求次数超过一定阈值,服务器会直接拒绝服务,返回一些错误信息。此时,代理IP就派上用场了。
许多新手朋友可能会如何使用代理IP不太懂,就拿最流行的爬虫语言来说Python来说吧。
一,urllib代理设置:
fromurllib.errorimportURLError
fromurllib.requestimportProxyHandler,build_opener
proxy=123.58.10.使用本地代理36:8080#
#proxy=username:password@123.58.10.36:80800#购买代理
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))
exceptURLErrorase:
print(e.reason)
二,requests代理设置:
importrequests
proxy=123.58.10.36:80800#本地代理
#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)
exceptrequests.exceptions.ConnectionErrorase:
print(错误:,e.args)
三,Selenium代理设置:
fromseleniumimportwebdriver
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)