javascript - 抓取表格中无法在 html 中找到但只能在 Chrome>F12>Element 中找到的子元素

标签 javascript html r google-chrome web-scraping

我尝试抓取得分/事件时间以及玩家姓名 http://en.gooooal.com/soccer/analysis/8401/events_840182.html .但是无法工作。

require(RCurl);
require(XML);
lnk = "http://en.gooooal.com/soccer/analysis/8401/events_840182.html";
doc = htmlTreeParse(lnk,useInternalNodes=TRUE);
x = unlist(xpathApply(doc, "//table/tr/td"));

普通的html页面不会显示表格内容的详细信息。 节点只能从

>>> 打开 Chrome >>> 单击 F12 >>> 单击元素

有人可以帮忙吗?非常感谢。

最佳答案

如果在 Chrome 开发者工具处于事件状态时重新加载页面,您可以看到实际数据是通过 XHR 从 http://en.gooooal.com/soccer/analysis/8401/goal_840182.js?GmFEjC8MND 获取的。此 URL 包含事件 ID 840182,您可以从页面中抓取该 ID。 ? 之后的部分似乎只是规避浏览器缓存的一种方法。 8401,再次,似乎只是 ID 的前几个数字。

因此,您可以加载原始页面,构造第二个 URL,并从那里获取真实数据。

无论如何......在大多数情况下,从网站上抓取数据是一种在道德上有问题的做法。我希望你知道自己在做什么:)

关于javascript - 抓取表格中无法在 html 中找到但只能在 Chrome>F12>Element 中找到的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18947719/

相关文章:

javascript - 如何使 UI 对其他屏幕尺寸的响应更加灵敏?

javascript - 如何在关闭和打开后在 react native 应用程序上保持登录状态

javascript - 文本区域中的文本闪烁

c# - 将值传递给 html 从后面的代码中选择

javascript - 使用字符串生成 HTML

javascript - 组合框元素符号上升

javascript - jQuery 使用动态创建的按钮切换动态创建的表中的下一行

c++ - 如何在 R 包之间共享基于 Rcpp 的库中的 C++ 函数?

python - R在python中的顺序等效

r - 在 ggplot2 中,如何将堆叠直方图中的小值条形组合在一起?