问题标签 [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 - Rvest 抓取错误
这是我正在运行的代码
到目前为止,它似乎工作正常,但是当我尝试提取文本时:
我得到:
尝试提取特定元素:
也不能这样...
所以我尝试了一种不同的方式:
这似乎至少得到了数据,但仍然没有成功:
如何从列表的每个元素中提取文本材料?
r - R中的“救援”命令?
我有这个代码:
然而,当我把列表加长时,我往往会遇到
我知道在 Ruby 中,我可以使用它rescue来继续遍历列表,即使应用函数的一些尝试失败了。R中有类似的东西吗?
html - 如何在 R 中发布一个简单的 HTML 表单?
我对 R 编程比较陌生,我正在尝试将我在约翰霍普金斯大学数据科学轨道中学习的一些东西投入实际使用。具体来说,我想自动化从美国财政部网站下载历史债券价格的过程
使用 Firefox 和 R,我能够确定美国财政部网站使用一个非常简单的 HTML POST 表单来指定感兴趣报价的单个日期。然后它返回所有未偿债券的二级市场信息表。
我尝试使用两个不同的 R 包向美国财政部 Web 服务器提交请求,但未成功。野兔是我尝试过的两种方法:
尝试 #1(使用 RCurl):
这会导致一个网页被返回并存储在其中,td.html但它所包含的只是来自treasurydirect 服务器的一条错误消息。我知道服务器正在工作,因为当我通过浏览器提交相同的请求时,我得到了预期的结果。
尝试 #2(使用 rvest):
不幸的是,这种方法甚至不会离开 R 并导致来自 R 的以下错误消息:
我似乎无法弄清楚如何查看发送到 rvest 的“格式错误”文本,以便我可以尝试诊断问题。
任何解决这个看似简单的任务的建议或技巧将不胜感激!
r - 使用所有美国县失业数据创建一个 data.frame
我正在尝试使用美国劳工统计局的所有美国县失业数据创建一个 data.frame:
http://www.bls.gov/lau/#cntyaa
从 1990 年到 2013 年,该数据每年都有一个结果。
我最初计划使用 BLS API,但看起来他们认为每个县都是一个单独的查询,并且查询的总数将超过他们的阈值。我现在认为从他们放在网上的 TXT 文件中简单地抓取数据可能更容易,但我在使用 R 解析数据时遇到了问题。这是一个包含数据的示例页面:
http://www.bls.gov/lau/laucnty90.txt # 90 = 1990
我最初尝试使用rvest包解析文件。但是因为数据都在一个<p>标签中,我认为该工具的表格中没有足够的 HTML 结构。
然后我尝试了download.file和read.table。但同样,这些工具的数据格式似乎不正确 - 顶部和底部有多余的行,“分隔符”只是一个空格,当县名包含空格时,这会使 R 混淆。
归根结底,我只需要一个包含来自该文件的 3 条数据的 data.frame:州 FIPS 代码、县 FIPS 代码和失业率。
我现在在想,创建这个 data.frame 最简单的方法可能是下载 excel 文件,删除我不需要的列,删除顶部和底部的多余文本,导出为 CSV,然后阅读它进入 R。
我当然可以在这 14 年的每一年中做到这一点。但是我因此失去了一些可重复性 - 其他人将无法轻松验证我在导入过程中没有犯错。
有没有人看到更简单的方法来创建这个 data.frame?
html - 使用 rvest 使用相对路径跟随“下一个”链接
我正在使用该rvest软件包从http://www.radiolab.org/series/podcasts页面中抓取信息。抓取第一页后,我想点击底部的“下一页”链接,抓取第二页,移动到第三页,等等。
以下行给出了错误:
检查 HTML 显示“./2/”周围有一些rvest明显不喜欢的多余内容:
问题 1:
如何才能rvest::follow_link像浏览器一样正确处理此链接?(我可以手动抓取“下一个”链接并使用正则表达式对其进行清理,但更喜欢利用提供的自动化rvest。)
在follow_link代码末尾,它调用jump_to. 所以我尝试了以下方法:
深入研究代码,看起来问题出在 with 上XML::getRelativeURL,它用于dirname剥离原始路径的最后一部分(“/podcasts”):
问题 2:
如何获取rvest::jump_to并XML::getRelativeURL正确处理相对路径?
r - 如何使用循环在 R 中为多个网页抓取网站数据?
我想应用一个循环来从 R 中的多个网页中抓取数据。我能够为一个网页抓取数据,但是当我尝试对多个页面使用循环时,我得到了一个令人沮丧的错误。我花了几个小时修修补补,无济于事。任何帮助将不胜感激!!!
这有效:
但是,当我尝试在循环中编写它时,我收到一个错误
错误:
r - 将复杂的 HTML 表抓取到 R 中的 data.frame 中
我正在尝试将维基百科关于美国最高法院大法官的数据加载到 R 中:
问题是数据格式不正确。而不是我在实际 HTML 表中看到的名称(“James Wilson”),它实际上出现了两次,一次是“Lastname, Firstname”,然后又是“Firstname Lastname”。
原因是每个实际上都包含一个不可见的:
具有数值数据的列也是如此。我猜这个额外的代码是对 HTML 表进行排序所必需的。但是,我不清楚在尝试从 R 中的表创建 data.frame 时如何删除这些跨度。
r - Print/Show JPG file in R
While using rvest package I am trying to print/show the lego_movie poster in R. I fail to do so. Here's my attempts:
I think EBImage has display function. This package can't be installed in R-3.1.2. It shows the warning message: package ‘EBImage’ is not available (for R version 3.1.2).
The bottom line of my question is: how to see the jpeg file in R as a display without using EBImage package?
Few related questions:
r - 使用 rvest 抓取图像标题
我正在尝试使用 R 和 SelectorGadget 中的 rvest 包从 Glassdoor 中提取单个评级(API 仅提供汇总评级)来识别我的 CSS 选择器。
问题是 Glassdoor 使用图像来传达评级,但数字评级包含在图像标题中。使用 SelectorGadget,我可以从下面的代码片段中抓取“Comp & Benefits”文本(使用“#EmployerReviews undecorated li”),但我无法到达 span...title= 部分中的“2.0”,其中是我想要的。
任何人过去都成功地抓取了图像标题,或者知道获得这些个人评级的另一种方法?
html - 使用 rvest 或 httr 登录网页上的非标准表单
我正在尝试使用 rvest 来抓取需要在表单上使用电子邮件/密码登录的网页。
这给了我以下错误消息:
找不到对象'ctl00$Header2$HeaderTop1$Button1'
如果我在没有指定提交参数的情况下提交表单,我会得到:
我还尝试将参数直接传递给 httr,如以下问题所述:如何在 R 中发布简单的 HTML 表单?, 但“提交”参数不接受带有反引号 (``)、引号或不带任何引号的提交按钮:
关于如何从 R 会话登录并爬取登录墙后面的数据的任何想法?