selenium是什么
selenium模塊可以讓 Python 直接控制瀏覽器,可以實(shí)際點(diǎn)擊鏈接妹沙,填寫登錄信息等等偶洋,幾乎就像是真正的用戶在操作一樣。支持的瀏覽器包括 IE, Firefox, Chrome, Safari, Opera等距糖。selenium的缺點(diǎn)就是要啟動web瀏覽器玄窝,這樣會使得爬取的速度變慢,并且難以在后臺運(yùn)行悍引。
安裝
本機(jī)環(huán)境
Python 3.6
windows
安裝selenium
在cmd中輸入 python -m pip install selenium
安裝驅(qū)動文件
此處以Firefox為例
下載Geckodriver(https://github.com/mozilla/geckodriver/releases)
然后將geckodriver.exe
放到Python安裝根目錄(與Python.exe同一目錄)
例子
以第一財(cái)經(jīng)網(wǎng)的新聞頁面為例恩脂,在頁面下方有一個點(diǎn)擊加載更多
的可點(diǎn)擊對象(即支持click()
方法,但不是按鈕)趣斤。我們用selenium去模擬點(diǎn)擊點(diǎn)擊加載更多
俩块,以此實(shí)現(xiàn)不斷向下加載。
通過檢查元素,找到點(diǎn)擊加載更多
這個標(biāo)簽的信息玉凯。
具體代碼如下:
import time
from selenium import webdriver
browser = webdriver.Firefox() # 啟動Firefox瀏覽器
browser.get('http://www.yicai.com/news/') # 將瀏覽器指向該網(wǎng)頁
while True:
divmore = browser.find_element_by_id('divMore') # 在網(wǎng)頁中查找匹配id屬性值的元素势腮,返回一個WebElement對象
divmore.click() # 調(diào)用WebElement對象的click()方法,模擬鼠標(biāo)在該元素上點(diǎn)擊
time.sleep(1) # 每隔1s點(diǎn)擊一次
附
該文章于2017年7月26日于CSDN上首次發(fā)表漫仆,2017年12月24日搬家至此捎拯!