最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

R語言:VOL1-爬取動態(tài)網(wǎng)頁的方法

2020-02-19 21:13 作者:正版_月華JUN  | 我要投稿

其實(shí)想寫B(tài)站專欄也有一段時間了,草稿箱里還躺著幾篇寫了一半的讀書報告,但是萬萬沒想到,寫的第一篇專欄竟然是關(guān)于編程的2333333

也很偶然,正好有個朋友問能不能幫忙爬取數(shù)據(jù),但是我沒有爬取過動態(tài)網(wǎng)頁的數(shù)據(jù),就根據(jù)網(wǎng)上的教程整理了一下,然后增加了我自己爬取的實(shí)例。

一、R語言爬取動態(tài)網(wǎng)頁的前期準(zhǔn)備

R語言爬取動態(tài)網(wǎng)頁需要用到的包可以使用"RSelenium"或者"Rwebdriver",這兩個包都可以進(jìn)行操作,是通過調(diào)用Selenium Server來模擬瀏覽器環(huán)境。

Selenium是一個用于網(wǎng)頁測試的Java開源軟件,它可以模擬瀏覽器的點(diǎn)擊、滾動、滑動以及文字輸入等操作[1]。

因?yàn)镽Selenium可以直接在CRAN下載并安裝(Rwebdriver包需要從gethub上下載并安裝,相對來說比較麻煩),因此我使用的是RSelenium包進(jìn)行動態(tài)網(wǎng)頁的抓取。

install.packages("RSelenium")? #安裝RSelenium包

library(RSelenium)? #加載RSelenium包

但是加載完RSelenium包之后,并不能直接使用,還需要添加相應(yīng)的輔助的條件:

  • 安裝JAVA并進(jìn)行環(huán)境配置

  • 安裝Selenium(運(yùn)行Selenium需要java且配置好環(huán)境變量)

  • 安裝瀏覽器與驅(qū)動組件

1.1 JAVA的安裝與環(huán)境配置

目前網(wǎng)絡(luò)上的教程大部分都是推薦安裝JDK(Java Development Kit),但是實(shí)際上我們安裝JRE(Java Runtime Environment)就足夠用了。因?yàn)槲易约旱碾娔X上有現(xiàn)成的。

JAVA的安裝可以去其官方網(wǎng)站下載:

  • https://www.java.com/zh_CN/download/win10.jsp【中文網(wǎng)站但只能下載window版的,行吧········】

  • https://www.java.com/en/download/manual.jsp【英文網(wǎng)站可以下載所有的】

下載完成后一步步的按照默認(rèn)安裝就可以了!?。?!

環(huán)境變量配置:

網(wǎng)絡(luò)上的很多教程都教給大家來配置環(huán)境變量,但是我在window10上下載安裝完成JAVA之后實(shí)際測試不需要配置環(huán)境變量就可以了。

大家可以在命令提示符【win+R打開運(yùn)行窗口,輸入cmd,點(diǎn)擊確定】界面,分別輸入以下命令:

  • java? ? 【查找java的命令是不是存在】

  • java -version? ? 【查找java的版本】

  • javac? ? ?【注意javac是JDK特有的,如果你和我一樣安裝的是JRE就不需要】

如果以上命令都有正常的反應(yīng)而不是提示命令不存在或者報錯,那么說明JAVA就安裝好了,不需要進(jìn)行下面的環(huán)境變量的配置了,如果不行,那么按照以下的要求配置環(huán)境變量:

配置環(huán)境變量JAVA_HOME,【就是你安裝JAVA的地址】

配置環(huán)境變量JAVA_HOME

配置環(huán)境變量PATH,【一般計算機(jī)上已經(jīng)有PATH的環(huán)境變量了,只需要給他增加就好了】

  • %JAVA_HOME%\bin

實(shí)際上就是連接到JAVA的二進(jìn)制文件目錄

網(wǎng)絡(luò)上有很多教程說增加的環(huán)境變量為如下:

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

分號代表一個新的目錄,但是實(shí)際上是不需要的,因?yàn)闆]有jre這個文件夾,可能是安裝JDK帶來的問題

PATH環(huán)境變量配置

配置環(huán)境變量CLASS_PATH

變量值 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

CLASS_PATH環(huán)境變量配置


三個變量設(shè)置完成后,打開cmd(命令提示符,用Windows的搜索搜cmd即可找到),輸入javac,不報錯即表示安裝成功。

1.2 安裝Selenium

Selenium的下載地址:https://selenium.dev/

你進(jìn)入網(wǎng)址之后看到的界面是這樣的:

selenium首頁截圖 2020.02.19

下載最新版的Selenium就好了。

目前最新版的下載下來名稱為:selenium-server-standalone-3.141.59.jar

然后使用命令提示符【win+R打開運(yùn)行窗口,輸入cmd,點(diǎn)擊確定】,進(jìn)入selenium存放的路徑,然后輸入如下命令:

java -jar selenium-server-standalone-3.141.59.jar

開啟selenium服務(wù)

出現(xiàn):Selenium Server is up and running on port XXXX代表運(yùn)行成功。

默認(rèn)運(yùn)行的port是4444。

如果出現(xiàn)報錯可能是你的port 4444處于被占用的狀態(tài)

請在運(yùn)行后面的程序務(wù)必保持selenium在運(yùn)行狀態(tài)【即不要關(guān)閉這個窗口】,否則后面的R程序并不能正常運(yùn)行

1.3?安裝瀏覽器與驅(qū)動組件

我在這里推薦Firefox,當(dāng)然Chrome也是可以的?!綬Selenium中支持的瀏覽器有5種:?chrome、firefox、htmlunit、internet?explorer、iphone】。主要原因是Chrome你在國內(nèi)不好安裝,你是無法正常登陸其官網(wǎng)去下載Chrome瀏覽器的【但是我在某企鵝的電腦管家的軟件管理中找到了Chrome瀏覽器的安裝,我沒試,大家看可以去試試能不能用~】。

在安裝完Firefox瀏覽器之后,需要安裝GeckoDriver用于驅(qū)動Firefox。

下載地址為:https://github.com/mozilla/geckodriver

然后請將下載后的文件安裝在Firefox瀏覽器的安裝路徑下面

Firefox默認(rèn)安裝路徑是:C:\Program Files\Mozilla Firefox

環(huán)境變量的配置如下圖中倒數(shù)第二變量

配置PATH環(huán)境變量

如果以上都操作完畢,我們就可以運(yùn)行愉快的編寫R語言程序了。

二、R語言爬取動態(tài)網(wǎng)頁的實(shí)例

我們要爬取的是騰訊公益網(wǎng)站的網(wǎng)頁。我們爬取的是項目狀態(tài)為已經(jīng)結(jié)束的項目的信息。

騰訊公益網(wǎng)頁

相應(yīng)的代碼如下:

【因?yàn)锽博不能插代碼塊,所以我就插圖片啦】

說明一下由于是第一版寫的程序,所以后面發(fā)現(xiàn)了一個問題,就是雖然騰訊公益的已經(jīng)結(jié)束的項目顯示有1448頁,但是實(shí)際上當(dāng)你進(jìn)入第100頁以后,所有的內(nèi)容就都和第100頁相同了,由于我只是來學(xué)習(xí)動態(tài)網(wǎng)頁的爬取方法所以在成功之后就沒有對代碼進(jìn)行修改~~~~~~

因此以下代碼只能爬取1-100頁的基本信息。

爬取騰訊公益網(wǎng)頁的代碼

爬去完成后的數(shù)據(jù)存在outdata數(shù)據(jù)框中:

結(jié)果示例

結(jié)果示例(對其中的執(zhí)行方數(shù)據(jù)進(jìn)行了相應(yīng)的模糊處理)

以上就是本期教程的所有內(nèi)容啦,希望對大家有所幫助!


3. 參考的相關(guān)教程:

[1] R語言爬取動態(tài)網(wǎng)頁:使用RSelenium包和Rwebdriver包的前期準(zhǔn)備? https://blog.csdn.net/weixin_40628687/article/details/78971934

[2] R語言數(shù)據(jù)收集實(shí)例(一)——動態(tài)網(wǎng)頁爬取 https://zhuanlan.zhihu.com/p/28108329

[3]?https://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html

[4]?https://www.cnblogs.com/mxly/p/10156517.html

[5]?GeckoDriver的安裝和使用?https://www.cnblogs.com/xuyingzhong/p/9345487.html

如果對你有幫助記得點(diǎn)個贊哦,親?。。。。。?!

R語言:VOL1-爬取動態(tài)網(wǎng)頁的方法的評論 (共 條)

分享到微博請遵守國家法律
天气| 得荣县| 恩施市| 中西区| 荆门市| 马尔康县| 龙胜| 吴旗县| 西贡区| 区。| 崇州市| 灵川县| 和平县| 翁源县| 资溪县| 浑源县| 景洪市| 巴中市| 临朐县| 双峰县| 东辽县| 宁陕县| 遂溪县| 卢湾区| 桐乡市| 仙居县| 怀宁县| 龙门县| 高唐县| 彩票| 远安县| 馆陶县| 中江县| 台安县| 威信县| 法库县| 枝江市| 西平县| 江达县| 阿尔山市| 云梦县|