如何使用 httr GET 命令刷新或重试特定网页?

2024-01-10

我需要使用不同的“密钥”访问同一网页才能获取它提供的特定内容。

我有一个钥匙列表x我用GET命令来自httr打包访问网页然后检索我需要的信息y.

library(httr)
library(stringr)
library(XML)

for (i in 1:20){
    h1 = GET ( paste0("http:....categories=&query=", x[i]),timeout(10))
    par = htmlParse(file = h1)

    y[i]=xpathSApply(doc = par, path = "//h3/a" , fun=xmlValue)

}

问题是经常会达到超时,并且会破坏循环。

因此,如果超时,我想刷新网页或重试 GET 命令,因为我怀疑问题出在我尝试访问的网站的互联网连接上。

我的代码的工作方式,超时打破了循环。我需要忽略该错误并进入下一次迭代,或者重试访问该网站。


Look at purrr::safely()。你可以包裹GET像这样:

safe_GET <- purrr::safely(GET)

这消除了丑陋tryCatch()让你做:

resp <- safe_GET("http://example.com") # you can use all legal `GET` params

你可以测试resp$result for NULL。将其放入重试循环中,然后就可以开始了。

您可以通过执行以下操作来查看此操作的实际效果:

str(safe_GET("https://httpbin.org/delay/3", timeout(1)))

这将要求 httpbin 服务在响应之前等待 3 秒,但会在GET请求到1s。我把它包裹在str()显示结果:

List of 2
 $ result: NULL
 $ error :List of 2
  ..$ message: chr "Timeout was reached"
  ..$ call   : language curl::curl_fetch_memory(url, handle = handle)
  ..- attr(*, "class")= chr [1:3] "simpleError" "error" "condition"

因此,如果需要,您甚至可以查看该消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 httr GET 命令刷新或重试特定网页? 的相关文章

  • 如何为自定义 S3 类实现提取/取子集 ([ [<-, [[ [[<-)] 函数?

    我有一个自定义的 S3 类foo 它在正常的基础上添加了一些自定义行为data frame foo object lt data frame class foo object lt c foo data frame 对于这个类 还应该有一个
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 使用点阵个性化 R 上显示的 X 轴值

    我收集了大量包含日期 客户端及其 NFS 使用情况的数据 我正在使用lattice R包进行绘图 正如对超级用户的建议 https superuser com questions 523195 plot custom log data on
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • StatET调试工具

    我想我只是很密集 但我似乎无法弄清楚如何在 Eclipse 中的 R 中使用调试工具 StatET 插件 有人有关于这个主题的任何提示或教程吗 StatET 2 00 现在对高级 可视化调试提供实验性支持 需要 Eclipse 3 6 或
  • 自定义轴缩放后 ggplot2 缺少标签

    我正在尝试使用我的 x 轴应用自定义缩放ggplot2 and scales trans new 但是 当我这样做时 一些轴标签丢失了 有人可以帮我弄清楚为什么吗 Setup library tidyverse the data ds lt
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • 是否有weighted.median()函数?

    我正在寻找类似形式的东西weighted mean 我通过搜索找到了一些解决方案 这些解决方案写出了整个函数 但希望有一些更用户友好的解决方案 以下软件包都有计算加权中位数的函数 aroma light isotone limma cwhm
  • ggplot2:带有 geom_line 的 x 轴因子不起作用

    我想要一个线图 其中value绘制为函数expt每级一行var 这是我的数据 lines lt expt var value 1 none p 0 183065327746799 2 none p 0 254234138384241 3 n
  • R 中的数据框操作 - 将单元格向左移动并删除 NA

    我有一个数据框 其列由随机分布的值和 NA 组成 如下所示 a lt c S E NA S NA b lt c A NA M G K c lt c I NA NA NA L meh lt dataframe a b c 1 2 3 4 5
  • 使用“assign()”为列表项分配值

    首先了解一些背景 我写了一个中缀函数 本质上取代了这个习惯用法 x length x 1 lt y 或者简单地说x lt append x y 对于向量 这里是 lt function x y xcall lt substitute x x
  • R 中图周围的圆形边框

    我需要在情节周围放置平滑的边框 代码 plot 0 10 0 10 type n xlab X ylab Y box figure col blue 除了简单的蓝线 我如何放置带有圆角的平滑灰线 非常感谢 library grid plot
  • 如何在node.js中的一定时间后强制解决承诺? [复制]

    这个问题在这里已经有答案了 我正在尝试从其 url 下载大量图像 然后在 Node js 中创建一个 PDF 文件 我正在使用图片下载器 https www npmjs com package image downloader模块下载承诺链
  • 使用非标准评估公式

    我正在创建一个使用的包非标准评价 http adv r had co nz Computing on the language html跟踪列的含义 该包在函数之间传递数据框 这些函数执行同一组列的各种操作 非标准评估对此非常有用 my s
  • 上传到 Shiny 服务器后在 R 中解压文件

    我正在尝试在我们的本地服务器上使用 Shiny 来构建一个应用程序 允许用户上传包含 ESRI shapefile 和关联文件的 zip 文件 Shiny 服务器的 fileInput 可以获取数据 并且当它这样做时 它会将其存储在临时目录
  • rPlot 工具提示问题

    我有一个使用 rCharts 工具提示的简单示例 但似乎不起作用 set seed 1 test lt data frame x rnorm 100 y rnorm 100 rPlot y x data test type point to
  • 将动物园转换为数据框

    我转换了一个zoo time series到数据框中R日期成为数据框的索引 有没有办法将日期表示为数据框中的普通列 monthly df lt data frame monthly zoo head monthly zoo head mon
  • 使用括号表示 y 轴上的负值 ggplot2

    我想在括号中显示 y 轴负值 而不是用负号 例如 我想显示 2 000 而不是 2 000 我在 R 中使用 ggplot2 我尝试在scale y continuous内部使用 negative parens TRUE 如下所示 但没有成
  • 如何绘制 Voronoi 曲面细分的多边形而不是线段?

    我找到了一种使用 ggplot2 绘制 Voronoi 曲面细分的分段的方法 library deldir library ggplot2 library ggthemes set seed 123 df lt data frame lat

随机推荐

  • JavaFX 项目结构

    JavaFX 使用 FXML 的 MVC 模型听起来很棒 但我在找出如何组织我的项目包时遇到了困难 我发现的关于 JavaFX 的每一个教程都太简单且无组织 他们只是创建一个包并在那里创建所有内容 每个控制器 每个 fxml 每个 css
  • 如何在属性文件的数值中包含 _ ?

    我怎样才能拥有 下划线 在我的数值属性中 同时注入 ValueSpring中的注解 如果我包括 按照我的价值观 Spring 会抛出TypeMismatchException properties 文件 min score 20 000 j
  • 编译器:理解小程序生成的汇编代码

    我正在自学编译器是如何工作的 我正在通过阅读反汇编来学习GCC从小型 64 位 Linux 程序生成代码 我写了这个C程序 include
  • Rails 4 - 仅当当前密码正确时才允许更改密码

    在我的应用程序中 用户可以编辑他们的个人资料信息 在编辑个人资料表单上 用户可以更改所有字段 姓名 职务等 在同一个表单上有三个字段 current password password and password confirmation 我
  • C# 中的值类型类定义?

    是否可以创建一个不是结构而是值类型的类 或者类似于值类型 因为它在传递时进行复制而不是通过引用传递 edit 抱歉 问题在提出后必须进行编辑 另外 请参阅此问题以获取更多信息 在不存在的struct布局中循环 https stackover
  • Java,在多线程环境中通过哈希统一划分传入的工作

    我已经实现了一个java代码来执行传入的任务 如Runnable 具有基于 hashCode 模块的 n 个线程nThreads 理想情况下 工作应该在这些线程之间均匀地分布 具体来说 我们有一个dispatchId作为每个任务的字符串 这
  • 防止在 Shiny 中对应用程序加载执行观察

    在 Shiny 中 观察语句在应用程序加载时运行 我想在某些情况下阻止这种情况 例如 我可能有两个标题 我想以某个值启动 并且在应用程序加载后我希望它们同步 在下面的代码中 如果运行它 标题将无限循环更新 因为应用程序会立即更新一个标题 然
  • 动态和不可变的 UIElement 数组

    我有一个WrapPanel其中包含多个Canvas大小相同 每个Canvas有一些UIElements i e TextBox TextBlock Button等 作为孩子 每一个的创作Canvas 包括其UIElement儿童 和数量Ca
  • 如何让WinForm按钮通过Tab键及时获得焦点

    Visual Studio 2010 C 我有一个ComboBox with a DropDown AutoComplete set to SuggestAppend和AutoCompleteSource是来自ListItems 用户将数据
  • HTML - 文本和图像之间不间断的空格

    所以我有一个菜单 其中每个 多行 项目在菜单项的最后一个单词后面都有一个图像 rightarrow png 问题是有时这个箭头会自己进入换行符 我想阻止这种情况发生 我试过 Blah blah nbsp img src rightarrow
  • videojs禁用黑色背景

    以 swf 模式加载视频时 videojs v3 2 0 始终显示黑色背景 有人知道如何改变吗 您可以向播放器添加类似的 swf 参数 var params params bgcolor ffffff params wmode transp
  • ASP.NET 中的端到端 kerberos 委托身份验证

    我正在尝试设置一个内部网站 该网站将使用 HttpWebRequest 代表用户联系网络内的另一个后端服务 我必须在 ASP NET 应用程序上使用集成 Windows 身份验证 因为后端系统仅支持这种类型的身份验证 我能够在 ASP NE
  • 如何在Excel中应用高级过滤器后获取可见行的范围(VBA)

    以下代码使用 Sheet2 上的值范围 条件范围 对 Sheet1 工作表 列表范围 上的 A 列应用高级筛选器 Range A1 A100 AdvancedFilter Action xlFilterInPlace CriteriaRan
  • 如何删除浮点数的“.0”?

    假设我有一个浮点数 如果它是整数 例如 1 0 9 0 36 0 我想删除 0 小数点和零 并写入标准输出 例如 结果将是 1 9 36 如果浮点数是有理数 例如 2 5335 和 95 5893 我希望输出与输入相同 即 2 5335 和
  • 我的 taglib <%@ taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%> 中出现错误

    当我开发 portlet 和编写 jsp 页面时 我使用了 但 Eclipse 向我显示一个错误 告诉我它找不到标签库描述符http java sun com portlet 2 0 http java sun com portlet 2
  • 错误:内部错误:(java.lang.ClassNotFoundException) com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index

    安卓工作室3 4 项目 SDK Android API 19 平台 不使用 FindBugs 或 SpotBugs 每次尝试构建时 我都会收到此错误 Information 9 05 2019 4 02 PM Compilation com
  • “自动”与“自动(延迟启动)”

    安装 Windows 服务时 有两个选项可用于在 Windows 启动时自动启动 Windows 服务 一是自动的 另一个是自动 延迟启动 这两者具体有什么区别呢 例如 如果您使用 wixtoolset 创建安装程序 ServiceConf
  • LINQ to SQL:自引用实体 - ParentID/ChildID 关联

    我的 Linq to SQL dbml 中有一个任务实体 它通过 ID 和 ParentID 列进行自引用 我有一个将两个 ID 关联在一起的关联 看起来智能感知中一切都工作正常 它会让我输入 Task Parent ID 甚至 Task
  • 在 python 中使用 subprocess.run 以管理员身份运行进程

    有没有办法通过一些runas Truearg 到 asubprocess runpython 中的函数 我想以管理员身份运行一个进程 提升它 感谢您的回答 编辑 使用 Windows 操作系统 Windows 有一个命令行实用程序 Run
  • 如何使用 httr GET 命令刷新或重试特定网页?

    我需要使用不同的 密钥 访问同一网页才能获取它提供的特定内容 我有一个钥匙列表x我用GET命令来自httr打包访问网页然后检索我需要的信息y library httr library stringr library XML for i in