您的位置:新闻资讯 >文章内容
如何使用代理IP进行火狐浏览器模拟访问
来源:http://www.ipjldl.com/News/getList/catid/17/id/1634.html 作者:admin 时间:2020-08-10 16:30:28

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

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

  精灵代理介绍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抓取数据的时候,能够掌握不同浏览器的配置方式。


相关文章内容简介
在线咨询
大客户经理
大客户经理
13318873961

大客户经理微信

微信公众号

微信公众号

回到顶部