问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python下 selenium与chrome结合进行网页爬取,怎么设置代理IP

发布网友 发布时间:2022-04-14 08:12

我来回答

1个回答

热心网友 时间:2022-04-14 09:42

#coding:utf-8
import sys,re,random,time,os
import socket
from socket import error as socket_error
import threading
import urllib2,cookielib
from bs4 import BeautifulSoup

from selenium import webdriver
from selenium.webdriver.common.proxy import *
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

proxyFilePath = time.strftime("%Y%m%d")

def testSocket(ip, port):
'''
socket连接测试,用来检测proxy ip,port 是否可以正常连接
'''
print '正在测试socket连接...'
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
sock.settimeout(10)
sock.connect((ip, int(port)))
#sock.send('meta')
sock.close()
print ip+':'+port+'--status:ok'
return 1
except socket_error as serr: # connection error
sock.close()
print ip+':'+port+'--status:error--Connection refused.'
return 0

def getDriver(httpProxy = '', type='Firefox'):
if type == 'Firefox':
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': httpProxy,
'ftpProxy': httpProxy,
'sslProxy': httpProxy,
'noProxy': '' # set this value as desired
})
firefox_profile = FirefoxProfile()
#firefox_profile.add_extension("firefox_extensions/adblock_plus-2.5.1-sm+tb+an+fx.xpi")
firefox_profile.add_extension("firefox_extensions/webdriver_element_locator-1.rev312-fx.xpi")
firefox_profile.set_preference("browser.download.folderList",2)
firefox_profile.set_preference("webdriver.load.strategy", "unstable")
#driver = webdriver.Firefox(firefox_profile = firefox_profile, proxy=proxy, firefox_binary=FirefoxBinary('/usr/bin/firefox'))
#driver = webdriver.Firefox(firefox_profile = firefox_profile, proxy=proxy, firefox_binary=FirefoxBinary("/cygdrive/c/Program\ Files\ (x86)/Mozilla\ Firefox/firefox.exe"))
driver = webdriver.Firefox(firefox_profile = firefox_profile, proxy=proxy)
elif type == 'PhantomJS': # PhantomJS
service_args = [
'--proxy='+httpProxy,
'--proxy-type=http',
]
webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.Accept'] = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.User-Agent'] = 'Mozilla/5.0 (X11; Windows x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36'
driver = webdriver.PhantomJS(executable_path='windows/phantomjs.exe', service_args=service_args)
else: # Chrome
chrome_options = webdriver.ChromeOptions()
#chrome_options.add_extension('firefox_extensions/adblockplus_1_7_4.crx')
chrome_options.add_argument('--proxy-server=%s' % httpProxy)
driver = webdriver.Chrome(executable_path='windows/chromedriver.exe', chrome_options=chrome_options)
return driver
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在思科的CCNA,CCNE,CCIP的考证费分别是多少啊,通过率怎样 长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 求魔塔21层的攻略 2018-09-04 - 魔塔1.12的攻略 860-427-279脱式计算应该怎么算? 860-什么等于80 三洋洗衣机XQ860-8830S出现e9故障 860-(86x5)运用了什么? 860-(180 276)怎么脱式计算三年级的 860-417计算过程? 递等式计算 。860-(236+244)=380 860-4.56ⅹ99-4.56简便计算? 860 22×25-740的简便运算? 无线路由器TL-WR541G的WAN口无法通过动态IP获得参数,这是为什么? 860-32×17等于 乔丹在奇才有哪些成绩? 860-296怎么简便计算? 860-(427-279)怎么列竖式? 皎怎么读 佼字的篆体怎么写 皎怎么读音是什么 交通的交怎么加偏傍 防尘口罩蝴蝶架怎么安装? 3M防尘口罩虑纸怎么安装? 防尘口罩滤纸没标反正怎么安装 手机信号满格4G ,但是人太多网很差怎么办? 4g网络变慢 按揭车怎么卖 电视机有vga接口吗如何连接电脑 求助,液晶电视有的是没有VGA接口么 现在的电视都有VGA接口吗? 电视机没有VGA接口 海信电视32370有没有vga接口 电视没有vga接口 怎么当显示器用啊。 食道 小肠 大肠 胃嘴 排列 我是瀑布型的胃,从高二开始,胃胀气。虽非绝症,但胃很憋气。 熬的组词 为什么我的胃嘴发痛.疼的时候呼吸不畅,出一身汗. 胃嘴难受是怎么回事 胃嘴处靠右边摸上去有一个疙瘩,也不疼是怎么回事,一吃饭就有点涨的慌 我的家人胃嘴部位经常疼痛,已经有几个月了 熬有什么组词