- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的情况:我有一个很长(2 万行)的 URL 列表,我需要从中抓取特定数据元素以进行分析。出于本示例的目的,我正在寻找一个名为“sol-num”的特定字段,它是招标编号。使用以下函数,我可以获取 FedBizOpps 上列出的任何采购的招标编号:
require(rvest)
require(magrittr)
fetchSolNum<-function(URL){
URL<-as.character(URL)
solNum<-html(URL)%>%
html_node(".sol-num")%>%
html_text()
}
现在,我有一个包含数千个 URL 的列表,我想提取每个 URL 的请求编号,将其存放到我从中获取 URL 列表的数据框的新列中。为了您自己的测试,这里是 URL 列表中的前十行:
list<-c("https://www.fbo.gov/spg/DISA/D4AD/DITCO/HC1028-12-T-0025/listing.html",
"https://www.fbo.gov/notices/c360b067077aabde331d66e0fe2d1f8f",
"https://www.fbo.gov/notices/f63053a7a6e858a5b7b537a660c473b7",
"https://www.fbo.gov/spg/DLA/J3/DSCP-I/SPM300-12-R-0024/listing.html",
"https://www.fbo.gov/spg/DLA/J3/DAPS/SP7000-11-Q-0047/listing.html",
"https://www.fbo.gov/spg/USAF/AFMC/OCALCCC/F3YCDW1245A001/listing.html",
"https://www.fbo.gov/spg/USAF/AFMC/AFFTC/FA9300-12-R-5001/listing.html",
"https://www.fbo.gov/notices/17ddec6ae37feb69704b1a52e22eeb26",
"https://www.fbo.gov/notices/3b76d40705a23a749aad46df88dcee0c",
"https://www.fbo.gov/notices/91873b727968dc664ada76c48e53e4df")
raw <- data.frame(matrix(unlist(list), nrow=10, byrow=T))
我想将输出存储在名为 raw
的数据框中的变量 solNum
中,所以我现在的功能是使用循环:
raw$solNum<-0
j=1
for (i in list){
raw$solNum[j]<-fetchSolNum(i)
j=j+1
}
当前运行代码会为前五行存入值,然后返回以下错误:
Error in xml_apply(x, XML::xmlValue, ..., .type = character(1)) :
Unknown input of class: NULL
经过进一步调查,我发现问题可能在于列表中的这个 URL:https://www.fbo.gov/spg/USAF/AFMC/OCALCCC/F3YCDW1245A001/listing.html转到某种消歧页面,因为有两个采购使用此 URL。
考虑到我的完整列表有 20k 行长,我没有时间仔细检查并清除所有无效 URL 的列表。有没有办法让我当前的函数只为 URL 无效或类似的行插入一个 NA 值?我怎样才能让它不因这个错误而中断?
此外,阅读周围的文章告诉我,将此操作作为矢量化函数而不是循环运行可能会更快、更有效。任何人都可以就我的情况提供任何提示吗?
最佳答案
可能只有 tryCatch()
可以在这里捕获错误并给出 NA。就矢量化而言,我怀疑您是否会看到任何真正的 yield 。阅读一个网站需要一段时间(有时一两秒)。有了 20K,这需要一些时间。一定要查看 Hadley 关于异常和调试的章节,并在您的代码中设置一些检查,这样它就不会在运行 4 小时后崩溃... http://adv-r.had.co.nz/Exceptions-Debugging.html
关于Rvest 循环在重定向网站上中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30579053/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!