[爆卦]js render爬蟲是什麼?優點缺點精華區懶人包

為什麼這篇js render爬蟲鄉民發文收入到精華區:因為在js render爬蟲這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者justleave (靜靜的就好)看板R_Language標題[問題] js生成的網頁 資料抓取...



[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)

[軟體熟悉度]:
使用者(已經有用R 做過不少作品)

[問題敘述]:

如下圖,想抓取紅色方框中的資料

https://imgur.com/gk9qBoH.jpg

已知該表格由javascript動態生成
爬了開發者工具 始終找不到資料存放的位置或網址
倒是下面的大表格中有找到資料

有想說是不是需要GET/POST來獲得資料
但找不到確切的url 不知從何下手

希望能有大大幫忙開示解惑

[程式範例]:

name <- "NovakDjokovic"
url2 <- paste0("http://www.tennisabstract.com/cgi-bin/player.cgi?p=", name)
page2 <- read_html(url2)

html_text(page2)
會print出一堆程式碼但沒有我要的資料


[環境敘述]:

R version 3.3.3 (2017-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

[關鍵字]:

網頁爬蟲 rvest javascript

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.8.54 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1563347953.A.DD1.html
whs2009: rselenium 可以試試 07/17 17:28
whs2009: 如果要爬動態的話 07/17 17:28
whs2009: 配合 chrome的 selectorgadget找出位址 07/17 17:29
justleave: 因為是js生成 selectorgadget 找到的裡面沒資料 會試 07/17 18:10
justleave: 試Rselenium 07/17 18:10
celestialgod: 直接看它有沒有從什麼API取得資料 改成直接打API 07/17 19:20

更新一下
https://imgur.com/I9PKXj3.jpg

後來發現網頁元素中其實有找到資料
但用老方法css標籤以及xpath抓出的資料都是空白
誤以為資料不在裡面

下圖為程式執行結果
https://imgur.com/Vof8nOv.jpg

試了幾種方式都撈不出資料
※ 編輯: justleave (114.42.13.59 臺灣), 07/18/2019 08:29:59
andrew43: 這個網頁大部份內容都是內JS生成,老方法是真的撈不到的 07/18 08:44
andrew43: 它也沒有用到ajax。網頁主要表格刻在js,而你要的表格 07/18 08:48
andrew43: 則是主要表格再做整理而已。 07/18 08:48
andrew43: 所以,達成js render,或是直接取js中的數據再統計 07/18 08:50
justleave: 後來用Rselenium解決了~感謝大家 07/19 00:21
nbkl: 可以分享一下。解法嗎。 先前有遇到這樣子的問題。 但一直 08/26 15:20
nbkl: 解不掉 08/26 15:20

你可能也想看看

搜尋相關網站