作者:鄧旭東HIT
鏈接:https://zhuanlan.zhihu.com/p/25981552
來源:知乎
著作權(quán)歸作者所有吴汪,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)。
今天帶給大家的是一款爬蟲神器-selenium蒸眠,使用該庫可以對付絕大部分的網(wǎng)站漾橙,不論這網(wǎng)站反爬策略多么的厲害,在selenium面前經(jīng)常失效楞卡。
selenium是什么霜运?
官網(wǎng)中介紹selenium
Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
Selenium自動化瀏覽器。 你用這種力量做什么完全取決于你蒋腮。首先淘捡,它是為了測試目的自動化web應(yīng)用程序,但是當(dāng)然不僅限于此徽惋。 基于Web的管理任務(wù)也可以(也應(yīng)該)自動化案淋。
為什么selenium好用?
一般的寫爬蟲的方法是用python腳本直接對目標(biāo)網(wǎng)站進行訪問险绘,而且只對目標(biāo)數(shù)據(jù)進行采集踢京,訪問速度很快,這樣目標(biāo)網(wǎng)站很容易就識別出你是機器人宦棺,然后把你封鎖了~~
而
使用selenium寫爬蟲瓣距,python腳本操控瀏覽器進行訪問,也就是說python腳本和目標(biāo)網(wǎng)站之間多了個瀏覽器的操作代咸,這樣的行為更像是人類行為蹈丸。這樣很多難爬的網(wǎng)站也可以輕而易舉的抓數(shù)據(jù)了。
使用selenium的準(zhǔn)備
selenium支持IE,Chrome,Firefox多個瀏覽器逻杖,我習(xí)慣用Firefox奋岁,而且我沒在其他瀏覽器使用成功過,所以建議大家跟我一起用Firefox吧荸百。
首先要確保你自己安裝了Firefox瀏覽器比較新的版本闻伶,現(xiàn)在最新的是52。安裝好firebug够话,下載網(wǎng)址為Firefox Developer Edition
再安裝firepath蓝翰,安裝網(wǎng)址FirePath
然后再安裝firefox36,經(jīng)過測試selenium對新版本firefox支持的不好,經(jīng)常出問題女嘲,為了避免初學(xué)者遇到困難畜份,建議大家安裝firefox36,勿謂言之不預(yù)欣尼。(下載資源請先關(guān)注公眾號:大鄧帶你玩轉(zhuǎn)python爆雹,公眾號回復(fù)“火狐36”,即可獲得項目源碼和火狐瀏覽器下載資源)
selenium基本知識
from selenium import webdriver
from bs4 import BeautifulSoup
初始化瀏覽器
driver = webdriver.Firefox()
打開某個網(wǎng)址
driver.get(url)
如果網(wǎng)站需要輸入登錄賬號密碼
這里用到firepath找到目標(biāo)位置的xpath
找到輸入賬號框愕鼓,清除框內(nèi)信息顶别,再輸入你的賬號
driver.find_element_by_xpath(xpath).clear()
driver.find_element_by_xpath(xpath).send_keys("你的賬號")
找到輸入密碼框,清除框內(nèi)信息拒啰,再輸入你的密碼
driver.find_element_by_xpath(xpath).clear()
driver.find_element_by_xpath(xpath).send_keys("你的密碼")
定位“點擊登錄”框的位置的xpath,執(zhí)行登錄
driver.find_element_by_xpath(xpath).click()
訪問你想爬的網(wǎng)頁的網(wǎng)址
driver.get(url)
獲取該網(wǎng)頁的源碼
html = driver.page_source
BeautifulSoup定位標(biāo)簽
bsObj = BeautifulSoup(html完慧,‘html.parser’)
再之后如何操作很簡單谋旦,我就不寫了啊,視頻里有
xpath如何獲得呢屈尼?
首先確保你已經(jīng)安裝好firefox新版本册着,并且安裝好插件firebug和firepath。
然后脾歧,請看下圖學(xué)習(xí)
首先點擊圖中1甲捏,打開firebug
然后,點擊圖中2鞭执,打開firepath
再然后司顿,點擊圖中的3,箭頭
再然后兄纺,點擊目標(biāo)位置大溜,例如圖中的4為賬號輸入框
最后,在圖中5復(fù)制xpath的值
任何元素的定位都重復(fù)上述步驟
代碼
運行效果
你看屏幕自動彈出一個瀏覽器估脆,并且瀏覽器自己自動翻頁瀏覽钦奋,很詭異,就像電腦被一個透明人操控似的。