R語言RSelenium包爬取動態網頁數據前期準備(環境配置)-連載NO.01

生而爲人,學無止境。

 

作爲爬蟲愛好者,最開始的時候多少都會遇到爬取的時候返回各種bug,抓頭撓耳吧;

R語言爬蟲的包基礎的就是rvest和RCurl,解析的就是xml包,當然你還得有html、css、http協議;

但基本的包僅對於靜態網頁的爬取比較有效,而對於動態網頁(渲染網頁)就沒用了;

接下來寫一下R語言裏面對於動態網頁爬取(AJAX異步渲染/加載網頁)的前期環境配置/搭建(模擬瀏覽器操作)。這裏講的是Rselenium的,至於Rwebdriver包的話類似,但現在它的包不好下載。

1、基於Rselenium包的環境搭建

install.packages("RSelenium")
library(RSelenium)
#瀏覽器控制函數
remdr <- remoteDriver(browserName ="firefox")

# 打開瀏覽器,運行這你會很驚喜
remdr$open()

若你直接下載Rselenium並加載,然後打開瀏覽器的話就會立馬報錯:

當然這肯定是錯誤的做法,但同時你也可以看到它的一點提示:Unable to create new service: GeckoDriverService

GeckoDriver是firefox瀏覽器的驅動,忘了說,這裏是以firefox瀏覽器爲例哦,支持的其他瀏覽器如chrome類似。

你需要去下載firefox的這個驅動文件,然後放到你安裝firefox的目錄下。

2、firefox瀏覽器安裝後需要將其安裝路徑加到系統環境變量中去,記得要把GeckoDriver放到你的瀏覽器安裝目錄下。

3、java環境配置,下載java https://www.java.com/en/download/manual.jsp

下載後配置環境,系統環境中3個變量

3.1  java_home添加,值爲E:\java\jdk-11.0.1  這個就是你放的路徑了;

3.2  classpath添加,值爲%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

3.3  path中添加%JAVA_HOME%\bin

3.4  配置完成後在系統命令中測試,win+r cmd 打開,輸入javac,返回未報錯即配置成功。

4、selenium環境配置,先下載selenium,下載新版的爲好 

    接下來就是運行它了哈,在命令窗口輸入java -jar selenium-server-standalone-3.141.59.jar,注意前面的路徑是你selenium所在的路徑哦,但是這樣很可能會出現下面的錯誤,這裏也給了反饋,下面畫紅線的部分解決即可。

此處需要將佔用4444端口的進程給結束掉,如何去找?win+r中輸入netstat -ano所有連接的pid,這個pid所對應的進程需要去任務管理中找到,在詳細信息欄中。

完成後再次在命令窗口測試,顯示如下即運行正常

 

5、 在R(Rstudio)中測試並運行

運行正常,完美,以後不用愁怎麼爬取渲染的網頁了吧,但是有一點,R的爬蟲未嘗試過大量的數據爬取,相對來說用python還是要好很多。

想知道下面代碼運行後什麼效果嗎?趕緊試試吧

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章