我正在尝试使用 R 来抓取https://www.rotowire.com/football/player.php?id=4307上的各种表格,但是由于他们使用 javascript,我遇到了一些障碍。我已经安装了 rvest 和 V8 库并尝试找到正确的节点,但是我很确定我没有正确指定正确的表节点。我咨询了网站所有者,他们同意人们抓取他们的数据。
\n\nV8 网页包含一段用于抓取电子邮件地址的示例代码。我尝试修改该代码以适合我的目的。
\n\n#Loading both the required libraries\nlibrary(rvest)\nlibrary(V8)\n\nlink <- \'https://www.rotowire.com/football/player.php?id=4307\'\nemailjs <- read_html(link) %>% html_nodes(\'div\') %>% html_nodes(\'basicStats\') %>% html_text()\n\nct <- v8()\nread_html(ct$eval(gsub(\'document.write\',\'\',emailjs))) %>% \n html_text()\nRun Code Online (Sandbox Code Playgroud)\n\n没有成功
\n\n我也尝试过:
\n\nemailjs <- read_html(link) %>% html_nodes(\'div\') %>% html_nodes(\'script\') %>% html_text()\nct <- v8()\nread_html(ct$eval(gsub(\'document.write\',\'\',emailjs))) %>% \n html_text()\nRun Code Online (Sandbox Code Playgroud)\n\n也:
\n\nemailjs <- read_html(link) %>% html_nodes(\'div\') %>% html_nodes(\'basicStats\') %>% html_text()\nRun Code Online (Sandbox Code Playgroud)\n\n第一个代码块失败是因为我错误地指定了节点,或者至少我认为这是原因。
\n\n第二组代码会撤回所有内容,但会出现以下错误:
\n\nError in context_eval(join(src), private$context) : \n ReferenceError: window is not …Run Code Online (Sandbox Code Playgroud)