爬蟲(chóng)--R語(yǔ)言--代碼實(shí)戰(zhàn)(以豆瓣網(wǎng)站為例) - 簡(jiǎn)書 (jianshu.com)
爬蟲(chóng)--R語(yǔ)言--基礎(chǔ)知識(shí) - 簡(jiǎn)書 (jianshu.com)
之前有斷斷續(xù)續(xù)學(xué)過(guò)基于R語(yǔ)言的爬蟲(chóng),這次再?gòu)念^梳理一遍流程與要點(diǎn)毡庆,供以后自己需要用到的時(shí)候參考蔓同。
1唉地、html基礎(chǔ)與xpath語(yǔ)法
1.1 html基礎(chǔ)
- 大多數(shù)網(wǎng)頁(yè)內(nèi)容都是html結(jié)構(gòu)組織的桐臊,在我理解就是有眾多節(jié)點(diǎn)(node)組成的樹(shù)狀結(jié)構(gòu)嫂冻;
- 而我們想要爬取的內(nèi)容就是其中的某個(gè)或者某些節(jié)點(diǎn)的文本標(biāo)簽或者屬性中恤批。
- 更多可參考:
(1)https://www.w3cschool.cn/html/html-basic.html
(2)HTML零基礎(chǔ)入門教程(詳細(xì))_ZONGXP的博客-CSDN博客_html5零基礎(chǔ)入門教程
1.2 xpath語(yǔ)法
-
一個(gè)html網(wǎng)頁(yè)往往包含非常多的節(jié)點(diǎn)分蓖,如何準(zhǔn)確尔艇、快速定位到目標(biāo)節(jié)點(diǎn)是爬蟲(chóng)過(guò)程中的關(guān)鍵問(wèn)題;而xpath語(yǔ)法可以幫助我們實(shí)現(xiàn)這一點(diǎn)么鹤;
xpath簡(jiǎn)單來(lái)說(shuō)是幫助我們解析html結(jié)構(gòu)的一種語(yǔ)言终娃,簡(jiǎn)單入門比較推薦B站的視頻:【智源學(xué)院】20分鐘帶你搞懂XPath — Scrapy數(shù)據(jù)解析神器_嗶哩嗶哩_bilibili
語(yǔ)法應(yīng)用筆記推薦:
(1)XPath定位語(yǔ)法總結(jié)_Q0717168的博客-CSDN博客_xpath定位語(yǔ)法
(2)https://learnku.com/articles/50459
2、xpath工具推薦
2.1 瀏覽器自帶的定位功能
-
打開(kāi)目標(biāo)網(wǎng)頁(yè)→ 右鍵單擊“檢查”→點(diǎn)擊審查元素窗口左上角箭頭→網(wǎng)頁(yè)界面選擇感興趣內(nèi)容→選中元素窗口高亮部分→右鍵單擊蒸甜,選擇copy xpath
-
在元素窗口尝抖,使用ctrl+F快捷鍵毡们,可以不斷調(diào)試xpath
2.2 google插件之XPath Helper
-
可以用來(lái)非常方便地調(diào)試、驗(yàn)證我們的xpath
2.3 google插件之SelectorGadget
- 該插件只需要我們?cè)诰W(wǎng)頁(yè)選擇好感興趣的標(biāo)簽昧辽,然后會(huì)自動(dòng)生成能夠定位到目標(biāo)節(jié)點(diǎn)的xpath路徑衙熔;
- 不過(guò)有一個(gè)缺點(diǎn)就是:SelectorGadget生成的xpath路徑一般比較復(fù)雜,如果我們自己花心思調(diào)試一下(2.1)往往會(huì)生成簡(jiǎn)潔的xpath路徑【通往羅馬的道路不止一條】
3搅荞、R語(yǔ)言爬蟲(chóng)流程【重點(diǎn)】
一開(kāi)始學(xué)習(xí)R語(yǔ)言爬蟲(chóng)時(shí)红氯,直接
xml2::read_html()
對(duì)提交的網(wǎng)址進(jìn)行解析,但經(jīng)常會(huì)出現(xiàn)提交正確的xpath路徑咕痛,但是沒(méi)有提取到節(jié)點(diǎn)內(nèi)容的尷尬結(jié)果{xml_nodeset (0)}
痢甘。
后來(lái)了解到針對(duì)動(dòng)態(tài)網(wǎng)頁(yè)的selenium爬取方法,嘗試了一下果然可以得到預(yù)期的結(jié)果茉贡。而且我覺(jué)得動(dòng)靜態(tài)網(wǎng)頁(yè)通吃塞栅,因此以后的R語(yǔ)言爬蟲(chóng)都采用下述的流程來(lái)操作。
- 參考筆記 :微信公眾號(hào):老俊俊的生信筆記--R語(yǔ)言爬蟲(chóng)系列筆記 R 爬蟲(chóng)之爬取文獻(xiàn)信息 (qq.com)
前期準(zhǔn)備:selenium相關(guān)配置(window) ?
參考筆記:https://zhuanlan.zhihu.com/p/24772389
step1:安裝Java
- 下載腔丧、安裝容易放椰,但是將java命令添加到環(huán)境變量需要仔細(xì)一點(diǎn)
網(wǎng)上有很多筆記,例如:Java JDK安裝和配置 - Java教程? (yiibai.com) - 如果在window的cmd平臺(tái)調(diào)用
java
命令愉粤,出現(xiàn)如下結(jié)果砾医,說(shuō)明安裝、配置java成功了
step2:chrome瀏覽器相關(guān)
- 首先要下載衣厘、安裝Chrome瀏覽器如蚜,根據(jù)提示選擇默認(rèn)安裝路徑即可 https://www.google.cn/chrome/
- 然后要下載ChromeDriver.exe https://sites.google.com/chromium.org/driver/
有兩點(diǎn)要注意(1)下載ChromeDriver版本要與Chrome版本一致(我的是94系列);(2)儲(chǔ)存路徑要與chrome.exe
在一個(gè)文件夾內(nèi)影暴;我的安裝路徑是 C:\Program Files\Google\Chrome\Application
step3:下載selenium-server-standalone.jar
- 下載地址:http://selenium-release.storage.googleapis.com/index.html
有很多版本可供選擇错邦,我下載的是3.14版本;同時(shí)為了管理方便型宙,與上面文件放在了同一文件夾內(nèi)兴猩;
最后如果調(diào)用下面命令,出現(xiàn)如下圖的結(jié)果說(shuō)明selenium相關(guān)環(huán)境都配置好了
java -Dwebdriver.chrome.driver="C:\Program Files\Google\Chrome\Application\chromedriver.exe" -jar "C:\Program Files\Google\Chrome\Application\selenium-server-standalone-3.141.59.jar"
將會(huì)在下一節(jié)記錄基于R語(yǔ)言爬蟲(chóng)的代碼實(shí)操練習(xí)~