关于Python使用代理的一些简单方法

  我们在做爬虫的过程中,经常会遇到这样的情况:最初爬虫正常运行,正常抓取数据,一切看起来都是那么的美好,然而一杯茶的功夫可能就会出现错误,比如403 Forbidden。出现这样的原因往往是网站采取了一些反爬虫的措施,比如,服务器会检测某个IP在单位时间内的请求次数,如果超过了某个阈值,那么服务器会直接拒绝服务,返回一些错误信息。这时候,代理IP就派上用场了。

  很多新手朋友可能对如何使用代理IP不太了解,就拿当下最流行的爬虫语言Python来说吧。

  一、urllib代理设置:

  from urllib.error import URLError

  from urllib.request import ProxyHandler,build_opener

  proxy=123.58.10.36:8080 #使用本地代理

  #proxy=username:[email protected]:8080 #购买代理

  proxy_handler=ProxyHandler({

  http:

  https:

  })

  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)

  二、requests代理设置:

  import requests

  proxy=123.58.10.36:8080 #本地代理

  #proxy=username:[email protected]:8080

  proxies={

  http:

  https:

  }

  try:

  response=requests.get(http://httpbin.org/get,proxies=proxies)

  print(response.text)

  except requests.exceptions.ConnectionError as e:

  print(错误:,e.args)

  三、Selenium代理设置:

  from selenium import webdriver

  proxy=123.58.10.36:8080

  chrome_options=webdriver.ChromeOptions()

  chrome_options.add_argument(--proxy-server=

  browser=webdriver.Chrome(chrome_options=chrome_options)

  browser.get(http://httpbin.org/get)