selenium设置代理和请求头

import random,requests,json
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.proxy import ProxyType

# 设置代理
service_args = [
    '--proxy=%s' % ips,  # 代理 IP:prot    (eg:192.168.0.28:808)
    '--ssl-protocol=any',           #忽略ssl协议
    '--load - images = no',         # 关闭图片加载(可选)
    '--disk-cache=yes',             # 开启缓存(可选)
    '--ignore-ssl-errors=true'     # 忽略https错误(可选)
]

#设置请求头
user_agent = (
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) " +
    "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36"
    )
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = user_agent
driver = webdriver.PhantomJS(executable_path=r"C:\soft\phantomjs-2.1.1-windows\bin\phantomjs.exe",
                             desired_capabilities=dcap,service_args=service_args)

driver.get(url='http://www.baidu.com')
page=driver.page_source
print(page)

# 隐式等待5秒,可以自己调节
driver.implicitly_wait(5)
# 设置10秒页面超时返回,类似于requests.get()的timeout选项,driver.get()没有timeout选项
# 以前遇到过driver.get(url)一直不返回,但也不报错的问题,这时程序会卡住,设置超时选项能解决这个问题。
driver.set_page_load_timeout(20)
# 设置10秒脚本超时时间
driver.set_script_timeout(20)



#翻页命令
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')

 

posted @ 2018-09-02 15:07  liang哥哥  阅读(584)  评论(0)    收藏  举报