使用R从可能使用javascript填充的表中抓取数据

问题描述 投票:0回答:1

你好R的狂热分子......

我一直在使用R从各种网站上抓取数据一段时间,但是这个让我感到难过。

我试图从下表中删除数据:http://www.vigimeteo.com/PREV/obs/obs_seul.html?a=07005&b=

但是到目前为止我的努力都失败了。

我尝试了以下内容

  1. 简单的wget,导致网站的html,以及用于填充表格的一些javascript函数,但我无法真正查看它并找到我可以用来抓取数据的部分R的JS实用程序。可能是我对JS的经历很差
  2. 我试过这里的解决方案Reading data from iframe,b / c它看起来像原来的网站有一个iframe的表,但再次没有运气
  3. getURL和readHTMLTable的组合 thisURL = http://www.vigimeteo.com/PREV/obs/obs_seul.html?a=07005&b= theURL = getURL(thisURL,.opts = list(ssl.verifypeer = FALSE) ) tables = readHTMLTable(theURL)

这导致一个空表

  1. 花了大约一个小时浏览我能找到的html和javascript代码的每一部分,但成功有限,详见1。

它似乎可能是R's Selenium package could have a potential solution,但我还没有弄清楚如何在这里使用它,可能是因为不熟悉

我觉得我在这里错过了一个重要的部分......也许是因为我缺乏JS和XML的知识?

更新:

我注意到,如果我右键单击表格元素并使用Chrome的“检查”,它会生成包含所有表格值的HTML,并且会非常可擦...我仍然不确定如何但是在R中达到这一点。任何人都有关于在“检查”屏幕上查看哪些内容的提示,以尝试指导我的进度?

javascript r web-scraping
1个回答
0
投票

对此的解决方案如下。

  1. 使用源代码,识别表的源html
  2. 导航到源页面,并使用Chrome开发人员工具>网络> XHR
  3. 刷新页面以查找数据源
  4. 从那个来源刮掉

感谢@XR SC的回答:web scraping using Chrome Dev Tools提供基本方法。

© www.soinside.com 2019 - 2024. All rights reserved.