r - 遍历 r 中的 url 列表
问题描述
我想导入一个包含 url 列表的 txt 并从每个中提取并将其保存在 cvs 文件中,但我卡住了
首先,我导入 txt 没问题,但是当我想遍历每一行时,我只是从第一行中提取
library(rvest)
library(tidyr)
library(dplyr)
for(i in seq(list_url)) {
text <- read_html(list_url$url[i]) %>%html_nodes("tr~ tr+ tr strong") %>%html_text()}
我只是从值形式的第一个 url 中获取结果,我想要从 url 中提取的所有数据框
编辑:list_ url 文件中包含此 url。
http://consultas.pjn.gov.ar/cuantificacion/civil/vida_po_detalle_caso.php?numcas=_b8I7G9olKAukGNlsRE6RHSYaYPu8YLjhTEW15HEuj4。 http://consultas.pjn.gov.ar/cuantificacion/civil/vida_po_detalle_caso.php?numcas=ewwF4WmHAnOkCg8Y_XIFH705H_O5hJL9uB5hztOhrsE。 http://consultas.pjn.gov.ar/cuantificacion/civil/vida_po_detalle_caso.php?numcas=Z9BDo7ACNDbsUwTiVFTe9aKFfcLAxxnU2AtL6DCloX4。 http://consultas.pjn.gov.ar/cuantificacion/civil/vida_po_detalle_caso.php?numcas=NZPRa9SoKHVJQcZ64_4zVgcLSNKmHZ4MtorPu23MUPg。
解决方案
您确定这是您在text
变量中获得的第一个 URL 的结果吗?它应该是最后一个,因为每个循环 for 循环都会覆盖text
.
lapply()
非常适合这一点,并避免了 for 循环带来的问题。
这可以实现您想要实现的目标:
text <-
lapply(list_url$url,
\(x) read_html(x) %>%
html_nodes("tr~ tr+ tr strong") %>%
html_text())
使用sapply()
相反,您将得到一个向量而不是一个list
. 这可能对以下步骤有所帮助。您可能还想查找purrr
,它提供了一套*apply()
类似的功能。
推荐阅读
- dart - 分析器查找对潜在空值的未经检查的访问
- unity3d - Unity - 界面按钮从带有凹口的手机上的图形“错位”
- r - 将 m/d/y 到 y/m 的出现次数相加
- powershell - 如何使用 power shell 过滤特定单词
- reactjs - 我可以阻止在 React App 中的服务器端呈现某些路由吗
- c# - UWP 构建错误 - 资源的重复条目和冲突值
- typescript - TS2345 错误:指定函数参数类型
- javascript - 登录后显示每个用户的每日消息
- c# - 无法删除链表第一个和最后一个元素
- laravel - Laravel Eloquent:如何过滤相关模型的结果?