问题标签 [rvest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1185 浏览

r - 当 URL 不变时使用 R 抓取表格

我对 R 中的抓取相对较新,并且使用“rvest”很幸运,但我遇到了一个我无法解决的问题。

无论您在表格的哪个页面上,我尝试抓取的网站都具有相同的 URL。例如,主网页是 www.blah.com,上面有一个主表,其中有同一个表的 10 个其他“下一个”页面,但只是按顺序排列的下一个(我很抱歉没有链接到实际页面,因为我不能由于工作问题)。

因此,如果我在表格的第 1 页,则 URL 是 www.blah.com。如果我在表格的第 2 页,则 URL 是 www.blah.com 等等...... URL 永远不会改变。

到目前为止,这是我的代码。我正在使用 rvest 和 phantomjs 的组合。该代码完美运行,但仅用于获取表格的第 1 页,而不是相应的“下一个”表格的 10 页:

而且,这是来自网站的表格第 2 页的 HTML 代码(表格的所有其他页面都是相同的,除了将 2 替换为 3 等等):

非常感谢您提供的任何建议/帮助!

0 投票
1 回答
5828 浏览

r - 刮掉标题下的所有子段落(最好是 rvest)

我的目标是library(tm)在相当大的 word 文档上使用该工具包。Word 文档有合理的排版,所以我们有h1主要部分,一些h2h3副标题。我想对每个部分进行比较和文本挖掘(每个部分下面的文本h1- 副标题并不重要 - 因此可以包含或排除它们。)

我的策略是将 worddocument 导出为 html,然后使用 pacakgervest提取段落。

我可以提取所有的<p>html_nodes("p")但这只是一大汤。我需要分别分析每个h1

最好的可能是一个列表,p每个h1标题都有一个标签向量。也许是一个类似的循环for (i in 1:length(html_nodes(fil, "h1"))) (html_children(html_nodes(fil, "h1")[i]))(不起作用)。

如果有办法从内部整理单词 htmlrvest

0 投票
0 回答
297 浏览

xml - RCurl - 提交表单并加载页面

我正在使用包 RCurl 从巴西的网站下载一些价格,但为了加载数据,我必须首先从表单中选择一个城市。

该网站是:“ http://www.muffatosupermercados.com.br/Home.aspx

我想要 CURITIBA 的价格,id=53。

我正在尝试使用这篇文章中提供的解决方案:“如何在 RCurl 中使用 cookie?

这是我的代码:

但是当我运行代码时,我只得到表单后面的页面,而不是预期的页面:

http://www.muffatosupermercados.com.br/CategoriaProduto.aspx?Page=1&c=2

我也试过玩饼干,但没有运气。

有谁知道如何提交此表单并加载正确的页面?

tks提前...

0 投票
1 回答
827 浏览

xml - R Webscraping 与动态表

对于我在 R 中进行网络抓取的第一次练习,我试图弄清楚如何搜索正在出售的歌剧门票以最终找到最优惠的价格。我想做两件事:

  1. 创建一个类别和价格表,以便能够在任何类别中搜索最优惠的价格
  2. 保存指向最优惠的 http 地址的链接(每个类别的价格)。

我遇到的问题是我只能看到 15 个观察值,但表格可能会更大。

更新:我能够用 rvest 获得一张漂亮的桌子,但我还没有弄清楚如何解决 15 视图限制。

更新 2:似乎有一个返回 json 文件的 POST 请求。我想我可以用它来帮助返回一张更大的桌子,但我不知道如何做到这一点。

0 投票
2 回答
4415 浏览

r - R - 使用 rvest 将 html_node 限制为 html_nodes 结果的元素

rvest用来做网络抓取——为了试验,我正在从 IMDB 抓取电影的评论分数。对于这个例子,我试图从这个站点获取所有的评论和相关的用户名。请注意,并非所有评论都有星级 - 我想要的只是有星级的评论。

我的起始代码:

这将返回一个包含 11 条评论的列表,这与我预期的完全一样(这部电影有 11 条评论)。

然后,当我尝试浏览此列表以检查是否存在星级时,我得到了意想不到的结果。

这产生

但第一次评论实际上只包含:

我的img代码返回的子集中不存在。 我如何才能真正将 html 子集化以html_node()直观地执行后续操作?

0 投票
1 回答
1270 浏览

r - 使用 R 提交到 Google 或 Wikipedia 搜索表单

我正在尝试使用 R 根据字符串值导航到特定的维基百科页面。由于我没有我正在查找的关键字列表的确切 Wikipedia URL(例如,“Prog rock”作为搜索词转到以 Progressive_rock 结尾的 URL),我的想法是将关键字传递给 Google“ Feeling Lucky”搜索,然后抓取生成的 Wikipedia 页面的 HTML。

在尝试这个的过程中,我发现我在使用 R 提交任何表单时遇到问题。任何人都可以发布一个可重现的示例,用于使用 R 会话运行 Google 查询并返回首页的 HTML,或基于 Wikipedia 搜索搜索词?

我一直在使用 Hadley 出色的 rvest 包进行大部分网络抓取,但即使使用改编自 rvest 手册的示例,也无法使这方面发挥作用:

返回:

我也以同样的运气直接尝试了维基百科搜索:

返回相同的错误。我怀疑我犯了某种难以置信的简单错误,但我不知道它是什么。

许多在线提交搜索表单的示例似乎使用了 httr、RCurl 和 RSelenium 包,但我在 Google 或 Wikipedia 上没有找到有效的具体示例,而且许多示例似乎已经过时,因为 Google 更改了他们的“手气不错”搜索的格式。我还按照类似问题(通过 R 在维基百科上的 Sumbit 查询)中的建议查看了 WikipediR 包,但它似乎没有搜索功能。

0 投票
1 回答
241 浏览

xml - 使用 R 中的 library(rvest) 和 library(xml) 为专利数据选择 xml_nodes

鉴于 EPO 的专利服务器 REPO 的以下(准)xml 结构:

我想选择节点“B210”中的数字和“描述”中的文本。

使用

我确实得到了描述文本,但 B210 没有。事实上,该命令不适用于 . 我是否必须将 SDOBI 中提供的信息转换为文本?我在这里有点迷路。任何帮助高度赞赏。

0 投票
2 回答
5821 浏览

r - 在 R 和 rvest 中抓取多个链接的 HTML 表

这篇文章http://www.ajnr.org/content/30/7/1402.full包含四个指向 html-tables 的链接,我想用 rvest 抓取它们。

在 css 选择器的帮助下:

可以像这样到达第一个表:

css 选择器:

可以选择包含链接到四个表的标签的所有四个 html 节点:

怎么可能遍历这个列表并一次检索所有四个表?最好的方法是什么?

0 投票
1 回答
2808 浏览

r - Rvest error: type 'externalptr'

I am trying to use rvest to extract the date of birth for PGA golfers. Let's try Stuart Appleby. Here is his profile on the ESPN website http://espn.go.com/golf/player/_/id/11/stuart-appleby. Notice his DOB next to his headshot.

His DOB is contained in item 22 of li_node. Ideally, I wouldn't hard code [[22]] into my program, but even when I do, I run into errors.

displays the info I want, but stuff like:

all return an error:

Is there a simple way for me to grab that DOB using rvest?

0 投票
2 回答
1040 浏览

r - 如何使用 rvest 从基于 Web 的论坛中抓取消息

以示例中的 vbulletin 站点为例。我希望能够只从线程中抓取短信。然而,消息的 css 选择器被称为 #post_message_xxx ,其中 xxx 是一个变量 id 号。

如何将选择器与 html_nodes 部分匹配,以便获得所有以 #post_message 开头的选择器,而不管它们如何结束?

或者我应该问一个更笼统的问题。如果我希望能够将作者归因于消息并跟踪消息顺序,我应该如何抓取页面。

谢谢。