python爬虫之selenium,谷歌无头浏览器
生活随笔
收集整理的這篇文章主要介紹了
python爬虫之selenium,谷歌无头浏览器
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
python爬蟲之selenium和PhantomJS
主要的內(nèi)容
-
lenium
-
hantomjs
-
無頭瀏覽器
-
的懶加載
一 什么是selenium?
介紹
它是python中的一個(gè)第三方庫,對(duì)外提供的接口可以操作瀏覽器,然后讓瀏覽器完成自動(dòng)化的操作。
安裝
pip install selenium如何使用selenium 進(jìn)行操作呢?
1 獲取某一款瀏覽器的驅(qū)動(dòng)程序(這里我以谷歌瀏覽器為例)
谷歌瀏覽器的驅(qū)動(dòng)下載地址:
http://chromedriver.storage.googleapis.com/index.html2 如何選擇版本號(hào)下載,這里下載的驅(qū)動(dòng)程序必須和瀏覽器的版本統(tǒng)一,可以通過這個(gè)網(wǎng)址中提供的版本映射表進(jìn)行對(duì)應(yīng)
先查看自己谷歌瀏覽器中的版本信息,然后通過映射表進(jìn)行相應(yīng)的下載即可
http://blog.csdn.net/huilan_same/article/details/51896672需求 使用selenium打開百度
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' from selenium import webdriver from time import sleep #驅(qū)動(dòng)路徑 記得前面加r 防止字符轉(zhuǎn)義 #!!!注意這里必須把驅(qū)動(dòng)程序中的路徑寫完整,后面必須加上這個(gè)chromedriver.exe 否則會(huì)報(bào)錯(cuò) 執(zhí)行不成功 driver = webdriver.Chrome('C:\pacong_data\day3\chromedriver.exe') #用driver打開百度頁面 后面的地址是百度的地址 driver.get('http://www.baidu.com') # 查找頁面的“設(shè)置”選項(xiàng),發(fā)送一個(gè)你要搜索的值,并進(jìn)行點(diǎn)擊 driver.find_element_by_id('kw').send_keys('人民幣') sleep(2) #并進(jìn)行點(diǎn)擊 driver.find_element_by_id('su').click() sleep(2) #退出驅(qū)動(dòng)程序 driver.quit()#使用下面的方法,查找指定的元素進(jìn)行操作即可find_element_by_id 根據(jù)id找節(jié)點(diǎn)find_elements_by_name 根據(jù)name找find_elements_by_xpath 根據(jù)xpath查找find_elements_by_tag_name 根據(jù)標(biāo)簽名找find_elements_by_class_name 根據(jù)class名字查找二 phantomjs
PhantomJS是一款無界面的瀏覽器,其操作與上述的操作基本上是一致的,由于無界面,為了我們能夠清楚的看到她的自動(dòng)化操作流程,它為用戶提供了一個(gè)截屏的功能,使用save_screenshot函數(shù)實(shí)現(xiàn)。
phantomjs實(shí)現(xiàn)無界面的操作
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' from selenium import webdriver import time#PhantomJS是一個(gè)無頭界面的瀏覽器 #!!!!注意這里的路徑是PhantomJS存放的路徑 browser = webdriver.PhantomJS(r'C:\pacong_data\day3\phantomjs-2.1.1-windows\bin\phantomjs.exe')url ='http://www.baidu.com/' browser.get(url) time.sleep(3)#進(jìn)入百度界面 然后截屏 browser.save_screenshot(r'phantomjs\baidu.png')bd_input = browser.find_element_by_id('kw').send_keys('小豬配齊') #在此截屏 browser.save_screenshot(r'phantomjs\xiaozhu.png') time.sleep(3)bd_sous = browser.find_element_by_id('su').click() 在此截屏 browser.save_screenshot(r'phantomjs\sous.png') time.sleep(3)browser.quit()谷歌無頭瀏覽器(是一款無界面的瀏覽器)
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import time from selenium import webdriver from selenium.webdriver.chrome.options import Options#這個(gè)是一個(gè)用來控制chrome以無界面模式打開的瀏覽器 #創(chuàng)建一個(gè)參數(shù)對(duì)象,用來控制chrome以無界面的方式打開 chrome_options = Options() #后面的兩個(gè)是固定寫法 必須這么寫 chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu')#驅(qū)動(dòng)路徑 谷歌的驅(qū)動(dòng)存放路徑 path = r'C:\pacong_data\day3\chromedriver.exe'#創(chuàng)建瀏覽器對(duì)象browser = webdriver.Chrome(executable_path=path,chrome_options=chrome_options)url ='http://www.baidu.com/'browser.get(url) time.sleep(3) browser.save_screenshot('baid.png')browser.quit()總結(jié)
以上是生活随笔為你收集整理的python爬虫之selenium,谷歌无头浏览器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫Scrapy框架之增量式
- 下一篇: 用 Python 一键分析你的上网行为,