【視頻】有了selenium,小白也可以自豪的說:「抓包,cookie,去一邊吧!」

今天帶給大家的是一款爬蟲神器-selenium,使用該庫可以對付絕大部分的網站,不論這網站反爬策略多麼的厲害,在selenium面前經常失效。

selenium是什麼?

官網中介紹selenium

Selenium automates browsers. Thats 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應用程序,但是當然不僅限於此。 基於Web的管理任務也可以(也應該)自動化。

為什麼selenium好用?

一般的寫爬蟲的方法是用python腳本直接對目標網站進行訪問,而且只對目標數據進行採集,訪問速度很快,這樣目標網站很容易就識別出你是機器人,然後把你封鎖了~~

使用selenium寫爬蟲,python腳本操控瀏覽器進行訪問,也就是說python腳本和目標網站之間多了個瀏覽器的操作,這樣的行為更像是人類行為。這樣很多難爬的網站也可以輕而易舉的抓數據了。

使用selenium的準備

selenium支持IE,Chrome,Firefox多個瀏覽器,我習慣用Firefox,而且我沒在其他瀏覽器使用成功過,所以建議大家跟我一起用Firefox吧。

首先要確保你自己安裝了Firefox瀏覽器比較新的版本,現在最新的是52。安裝好firebug,下載網址為Firefox Developer Edition

再安裝firepath,安裝網址FirePath

然後再安裝firefox36,經過測試selenium對新版本firefox支持的不好,經常出問題,為了避免初學者遇到困難,建議大家安裝firefox36,勿謂言之不預。(下載資源請先關注公眾號:大鄧帶你玩轉python,公眾號回復「火狐36」,即可獲得項目源碼和火狐瀏覽器下載資源)

selenium基本知識

from selenium import webdriver

from bs4 import BeautifulSoup

初始化瀏覽器

driver = webdriver.Firefox()

打開某個網址

driver.get(url)

如果網站需要輸入登錄賬號密碼

這裡用到firepath找到目標位置的xpath

找到輸入賬號框,清除框內信息,再輸入你的賬號

driver.find_element_by_xpath(xpath).clear()

driver.find_element_by_xpath(xpath).send_keys("你的賬號")

找到輸入密碼框,清除框內信息,再輸入你的密碼

driver.find_element_by_xpath(xpath).clear()

driver.find_element_by_xpath(xpath).send_keys("你的密碼")

定位「點擊登錄」框的位置的xpath,執行登錄

driver.find_element_by_xpath(xpath).click()

訪問你想爬的網頁的網址

driver.get(url)

獲取該網頁的源碼

html = driver.page_source

BeautifulSoup定位標籤

bsObj = BeautifulSoup(html,『html.parser』)

再之後如何操作很簡單,我就不寫了啊,視頻里有

xpath如何獲得呢?

首先確保你已經安裝好firefox新版本,並且安裝好插件firebug和firepath。

然後,請看下圖學習

首先點擊圖中1,打開firebug

然後,點擊圖中2,打開firepath

再然後,點擊圖中的3,箭頭

再然後,點擊目標位置,例如圖中的4為賬號輸入框

最後,在圖中5複製xpath的值

任何元素的定位都重複上述步驟

代碼

運行效果

你看屏幕自動彈出一個瀏覽器,並且瀏覽器自己自動翻頁瀏覽,很詭異,就像電腦被一個透明人操控似的。

截圖看不出效果建議大家觀看視頻

【python爬蟲】之selenium的運用_騰訊視頻

大數據

大數據時代,你如何成為弄潮兒

爬蟲

爬豆瓣電影名的小案例(附視頻操作)

爬豆瓣電影名的小案例2(附視頻操作)

【視頻】用python批量抓取簡書用戶信息

【視頻】快來get新技能--抓包+cookie,爬微博不再是夢

【視頻】有了selenium,小白也可以自豪的說:「去TMD的抓包、cookie」

識別假貨有絕招,就用python爬淘寶評論

用Python抓取百度地圖裡的店名,地址和聯繫方式

python代理爬蟲抓豆瓣電影數據(一)

python代理爬蟲抓豆瓣電影數據(二)

Python大法好:貼吧爬蟲大法

文本分析

用python計算兩文檔相似度

用python實現簡單的文本情感分析

基於共現發現人物關係的python實現

好玩的python

開扒皮自己微信的秘密

8行代碼實現微信聊天機器人

使用Python登錄QQ郵箱發送QQ郵件

關注公眾號:大鄧帶你玩轉python

在公眾號後台回復「火狐36」,即可獲得項目源碼和火狐36的下載資源

推薦閱讀:

python正則表達式抓取數據時,有些標籤下有內容,有些標籤下沒有時怎麼辦?
應該學習最新版本的 Python 3 還是舊版本的 Python 2.7?
如何學習Python,以及新手如何入門?
在數學建模問題中,matlab和Python各自的特點有哪些?

TAG:Python | Python入门 | Python教程 |