使用 R 抓取 xml/javascript 表

lun*_*tus 3 javascript r scrape

我想抓取这样的表格http://www.oddsportal.com//hockey/usa/nhl/carolina-hurricanes-ottawa-senators-80YZhBGC/ 我想抓取博彩公司和赔率。问题是我不知道那是什么类型的桌子,也不知道如何刮掉它。

这些线程可能能够帮助我(使用 R 抓取 javascript这是什么类型的 HTML 表以及您可以使用什么类型的网页抓取技术?),但如果有人能给我指出正确的方向或更好的方向,我将不胜感激说明请参见此处。

那么赔率表是一个什么样的表,是否可以用 R 来抓取它?如果可以,如何抓取?

编辑:我应该更清楚。我已经使用 R 抓取数据一段时间了,可能不需要基础知识方面的帮助。经过进一步检查,该表确实是 Javascript,这就是问题所在,也是我需要帮助的地方

jdh*_*son 5

您可以使用Selenium和RSelenium来获取相关数据:

\n\n
library(RSelenium)\nappURL <- "http://www.oddsportal.com//hockey/usa/nhl/carolina-hurricanes-ottawa-senators-80YZhBGC"\nRSelenium::startServer()\nremDr <- remoteDriver()\nremDr$open()\nremDr$navigate(appURL)\ntblSource <- remDr$executeScript("return tbls[0].outerHTML;")[[1]]\nreadHTMLTable(tblSource)\n> readHTMLTable(tblSource)\n$`NULL`\nBookmakers    1    X    2 Payout \n1   \xc3\x82 bet-at-home\xc3\x82 \xc3\x82 2.25 3.80 2.60  91.6% \n2        \xc3\x82 bet365\xc3\x82 \xc3\x82 2.29 3.79 2.64  92.7% \n3       \xc3\x82 Betsson\xc3\x82 \xc3\x82 2.35 3.75 2.65  93.5% \n4          \xc3\x82 bwin\xc3\x82 \xc3\x82 2.30 3.75 2.70  93.3% \n5   \xc3\x82 MarathonBet\xc3\x82 \xc3\x82 2.35 3.80 2.78  95.4% \n6      \xc3\x82 Titanbet\xc3\x82 \xc3\x82 2.30 3.95 2.50  91.9% \n7       \xc3\x82 TonyBet\xc3\x82 \xc3\x82 2.35 3.70 2.70  93.8% \n8        \xc3\x82 Unibet\xc3\x82 \xc3\x82 2.35 3.85 2.60  93.5% \n9  \xc3\x82 William Hill\xc3\x82 \xc3\x82 2.30 3.90 2.50  91.6% \n10       \xc3\x82 Winner\xc3\x82 \xc3\x82 2.30 3.95 2.50  91.9% \n11       \xc3\x82 youwin\xc3\x82 \xc3\x82 2.40 3.75 2.55  93.0% \n
Run Code Online (Sandbox Code Playgroud)\n