问题标签 [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 投票
1 回答
1310 浏览

r - R:Rvest - 同时获取 2 个元素(节点)

我正在做一些网页抓取。

我需要获取实际价格,并将旧价格放在另一列中。

问题是并非所有产品都有 old_price 元素,因为它们是新的。

而且由于它们的长度不同,我无法将它们加入 data.frame 中。

如果产品没有 old_price,我想在单元格中有 NA。

有没有办法用 Rvest 做到这一点?

预期结果:

![在此处输入图像描述][1]

如您所见,这是一个示例。一种产品有实际价格和旧价格,另一种没有。

我一直在这样做:

所有产品都有价格,但并非所有产品都有旧价格。因此,对于那些只有新价格的产品,我希望在 Old_Price 列中有 NA。

编辑1:

重现情况的代码。它适用于 Ceulares 部分:

请运行 Gist 以获取我的数据:

编辑2:

我试过查看整个容器(产品品牌、产品名称、新价格、旧价格)。使用 SelectorGadget 我看到整个容器是:("#catalog-items"如果我错了,请纠正我)。

所以我使用:

但我不知道如何提取问题所说的新旧价格。

欢迎任何提示。

0 投票
2 回答
2704 浏览

r - R:rvest提取innerHTML

在 R 中使用rvest来抓取网页,我想从 node中提取等价物innerHTML,特别是在 apply 之前将换行符更改为换行符html_text

所需功能的示例:

应产生以下输出:

有了rvest 0.2这个可以通过toString.XMLNode

随着更新rvest 0.2.0.900,这不再起作用。

所需的功能通常在现在依赖的包的功能中可用-write_xml只要可以将其输出提供给变量而不是坚持写入文件。(也不接受 a )。xml2rvestwrite_xmltextConnection

作为一种解决方法,我可以暂时写入文件:

有了这个,我可以例如将换行标记转换为换行符:

有没有更好的方法来使用来自例如 、 或其他包的rvest现有xml2功能XML?特别是我想避免写入硬盘。

0 投票
2 回答
2242 浏览

r - rvest:尝试设置表单时出现“未知字段名称”

我正在尝试生成一个 Web 表单以允许我抓取数据。

返回

我的错误是认为我需要为MonthandYear字段设置值,但这是一个错误

返回 Error: Unknown field names: Month, Year

如何使用rvest在网络表单中设置值?

0 投票
1 回答
3545 浏览

r - 尝试使用 Rvest 提交表单时出错

调整这个 SO 答案,我正在尝试使用rvest生成一个表单来抓取结果页面。我一直想出一个错误。

返回此错误

我究竟做错了什么?

0 投票
1 回答
233 浏览

xml - 如何在R中获取ftp地址下游的所有页面

我想从 ftp/html 站点检索所有下游页面的列表:

说我有一个网站:

其中包含所有页面/文件:

所以如果我开始:

我想要一个站点的“路径”列表(即我想要的输出是一个包含上述所有示例链接作为字符的 r 对象)输出可以嵌套或整齐。

0 投票
1 回答
128 浏览

r - 使用 R 抓取网站以获取政府信息

我正在为一个关于在线请愿的研究项目搜索加拿大联邦网站。这是整个网站:http ://www.oag-bvg.gc.ca/internet/English/pet_lp_e_940.html

我需要获取每个请愿书的这些信息:请愿书的超链接、请愿书的编号、标题、问题、请愿人、收到的日期、状态、摘要。

例如在土著事务 [ http://www.oag-bvg.gc.ca/internet/English/pet_lpf_e_38167.html ] 中,我从以下代码开始,但在找到带有 //h1 的标题后我被阻止了。

0 投票
2 回答
2051 浏览

r - R: rvest - 使用 rvest 获取嵌套文本

问题:

从此网络中提取产品图片的 URL:

有些图像具有“数据来源”属性,我可以提取图像的 url。问题是,有些产品没有这个属性。但他们在 src 属性中有我需要的 URL。

至今:

1)我可以获得具有“数据来源”属性的产品的网址。2)当产品没有属性“data-origin”但在src属性中有url时无法获取url。

#

注意事项:

源代码中有两个 url:with 和 without 。精灵。. 我不需要带有精灵部分的网址。

1 个产品的示例:

正确网址:http://media.linio.com.pe/p/hp-1987-043329-1-catalog.jpg

这可以在 img 标签或 noscript 部分中找到。

错误的网址:http://media.linio.com.pe/p/hp-1987-043329-sprite.jpg

这是在“精灵隐藏”类中

更新 1:

使用 SelectorGadget 它说我应该使用“.lazyImg”。但我没有得到我所期望的。

但我得到:

更新 2:

调查我看到有人可以使用两个 html_nodes,一个接一个。这更接近我想要的。因为我需要获取页面上所有产品的 URL。

但是,这给了我比需要更多的信息。所以我尝试了这个修改(感谢用户的这个想法):

这有效!部分:

我得到:

这是因为有些元素具有属性:data-origin,而有些则没有。但他们在 scr 属性中有我需要的 url。所以我使用:

但我得到:

[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [33] 不呐呐呐呐呐

有什么帮助吗?

#

这是页面的源代码(http://www.linio.com.pe/computacion/pc-escritorio/

0 投票
1 回答
541 浏览

xml - readLines 仅读取 XML r 的标头

我正在下载并解压缩包含 xml 的 gz 文件。当我使用 readLines 将 xml 读入 xmlParse 时,它​​只返回标题。但在文件中有一个完整的结构

解压后的 xml 文件可以在这里下载

0 投票
1 回答
412 浏览

r - 使用 R 下载 *.xls 文件会产生错误

我正在尝试从 BLS 服务器下载大量 xls 文件。当我手动下载任何文件时,它们会完美打开。

但是当我尝试从 R 内部下载文件时:

这会下载正确大小的文件,但会尝试读取该文件:

返回错误

0 投票
2 回答
280 浏览

r - str_split - 类似于使用 Rvest 从网页创建项目列表

我正在尝试抓取这样的网页。我一直在与 Rvest 合作。

该页面显示了几个生物医学文献引用。每个引用项目都包含一个指向源的链接、一个包含一些结构化信息的表,在某些情况下,还有一个名为“Notes”的块引用,其中包含一些非结构化信息。

我想提取每个引用并单独处理它。但是,每个引用的链接、表格和块引用元素不在一个 div 中,它们只是堆叠在下一个引用的同一组元素上。我不能单独提取每个元素,因为有时块引用不存在,所以它们不会匹配。

如何使用 Rvest 解决这个问题?但是,在每次引用之后都有一个 hr 标签。有没有办法使用 hr 标签将 xml_nodeset 类拆分为项目列表?