问题标签 [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.
r - R:Rvest - 同时获取 2 个元素(节点)
我正在做一些网页抓取。
我需要获取实际价格,并将旧价格放在另一列中。
问题是并非所有产品都有 old_price 元素,因为它们是新的。
而且由于它们的长度不同,我无法将它们加入 data.frame 中。
如果产品没有 old_price,我想在单元格中有 NA。
有没有办法用 Rvest 做到这一点?
预期结果:
![在此处输入图像描述][1]
如您所见,这是一个示例。一种产品有实际价格和旧价格,另一种没有。
我一直在这样做:
所有产品都有价格,但并非所有产品都有旧价格。因此,对于那些只有新价格的产品,我希望在 Old_Price 列中有 NA。
编辑1:
重现情况的代码。它适用于 Ceulares 部分:
请运行 Gist 以获取我的数据:
编辑2:
我试过查看整个容器(产品品牌、产品名称、新价格、旧价格)。使用 SelectorGadget 我看到整个容器是:("#catalog-items"如果我错了,请纠正我)。
所以我使用:
但我不知道如何提取问题所说的新旧价格。
欢迎任何提示。
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?特别是我想避免写入硬盘。
r - rvest:尝试设置表单时出现“未知字段名称”
我正在尝试生成一个 Web 表单以允许我抓取数据。
返回
我的错误是认为我需要为MonthandYear字段设置值,但这是一个错误
返回 Error: Unknown field names: Month, Year
如何使用rvest在网络表单中设置值?
xml - 如何在R中获取ftp地址下游的所有页面
我想从 ftp/html 站点检索所有下游页面的列表:
说我有一个网站:
其中包含所有页面/文件:
所以如果我开始:
我想要一个站点的“路径”列表(即我想要的输出是一个包含上述所有示例链接作为字符的 r 对象)输出可以嵌套或整齐。
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 的标题后我被阻止了。
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/)
xml - readLines 仅读取 XML r 的标头
我正在下载并解压缩包含 xml 的 gz 文件。当我使用 readLines 将 xml 读入 xmlParse 时,它只返回标题。但在文件中有一个完整的结构
解压后的 xml 文件可以在这里下载
r - 使用 R 下载 *.xls 文件会产生错误
我正在尝试从 BLS 服务器下载大量 xls 文件。当我手动下载任何文件时,它们会完美打开。
但是当我尝试从 R 内部下载文件时:
这会下载正确大小的文件,但会尝试读取该文件:
返回错误
r - str_split - 类似于使用 Rvest 从网页创建项目列表
我正在尝试抓取这样的网页。我一直在与 Rvest 合作。
该页面显示了几个生物医学文献引用。每个引用项目都包含一个指向源的链接、一个包含一些结构化信息的表,在某些情况下,还有一个名为“Notes”的块引用,其中包含一些非结构化信息。
我想提取每个引用并单独处理它。但是,每个引用的链接、表格和块引用元素不在一个 div 中,它们只是堆叠在下一个引用的同一组元素上。我不能单独提取每个元素,因为有时块引用不存在,所以它们不会匹配。
如何使用 Rvest 解决这个问题?但是,在每次引用之后都有一个 hr 标签。有没有办法使用 hr 标签将 xml_nodeset 类拆分为项目列表?