您的位置:首页 >新闻资讯 > 正文

火狐浏览器模拟访问如何使用代理IP?

来源:互联网 作者:admin 时间:2019-11-29 14:26:06

  使用Firefox浏览器模拟浏览器访问操作,要怎么设置代理IP来避开网站的IP封锁?下面让ET代理为大家带来使用的教程,看看有哪些步骤是需要完成的吧。

浏览器模拟访问使用代理IP

  ET代理介绍Firefox浏览器使用教程:


  使用Firefox访问网页,代码如下:


  import time


  from selenium import webdriver


  url = "https://www.cnblogs.com/"


  driver = webdriver.Firefox()


  driver.get(url)


  time.sleep(2)


  print(driver.title)


  driver.close()


  直接这样运行会遇到以下错误:


  selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.


  需要装geckodriver,下载地址https://github.com/mozilla/geckodriver/releases。使用方式为,将对应版本geckodriver.exe放到python.exe的同目录下。


  装好之后再次运行即可访问网站。


  Firefox的IP代理较为麻烦,需要设置一些参数,具体如下


  import time


  from selenium import webdriver


  url = "https://www.baidu.com/s?wd=ip"


  proxy = "118.190.217.182:80"


  ip, port = proxy.split(':')


  profile = webdriver.FirefoxProfile()


  profile.set_preference('network.proxy.type', 1)


  profile.set_preference('network.proxy.http', ip) # 设置http代理


  profile.set_preference('network.proxy.http_port', int(port)) # 注意端口一定要使用数字而非字符串


  profile.set_preference('network.proxy.ssl', ip) # 设置https代理


  profile.set_preference('network.proxy.ssl_port', int(port))


  profile.update_preferences()


  driver = webdriver.Firefox(profile)


  driver.get(url)


  time.sleep(2)


  print(driver.title)


  driver.close()


  这里有两个注意点:


  1、协议的端口号一定要是整数,不能直接使用字符串,如果拿到的是字符串就使用int转一下


  2、当需要访问的网站为https时,一定要设置network.proxy.ssl参数才行


  整体代码如下:


  # encoding=utf-8


  # date: 2018/9/14


  __Author__ = "Masako"


  import time


  from selenium import webdriver


  def visit_web(url, proxy):


  # chrome


  # chromeOptions = webdriver.ChromeOptions() # 设置代理


  # chromeOptions.add_argument("--proxy-server=http://%s" % proxy)


  # driver = webdriver.Chrome("D:/tools/wedriver/chromedriver.exe", chrome_options=chromeOptions)


  # firefox


  ip, port = proxy.split(':')


  profile = webdriver.FirefoxProfile()


  profile.set_preference('network.proxy.type', 1)


  profile.set_preference('network.proxy.http', ip)


  profile.set_preference('network.proxy.http_port', int(port)) # 注意端口一定要使用数字而非字符串


  profile.set_preference('network.proxy.ssl', ip)


  profile.set_preference('network.proxy.ssl_port', int(port))


  profile.set_preference("network.proxy.share_proxy_settings", True)


  profile.update_preferences()


  driver = webdriver.Firefox(profile)


  driver.get(url)


  time.sleep(2)


  print(driver.title)


  driver.delete_all_cookies() # 清除cookies


  driver.close()


  driver.quit()


  if __name__ == "__main__":


  url = "https://www.baidu.com/s?wd=ip"


  proxy = "118.190.217.182:80"


  visit_web(url, proxy)


  以上就是Firefox浏览器设置代理IP使用的教程了,希望大家在用Python抓取数据的时候,能够掌握不同浏览器的配置方式。


相关文章内容简介