使用 R 和 rvest 进行网页抓取

2024-05-02

我正在尝试rvest学习使用 R 进行网页抓取。我正在尝试为页面的其他几个部分复制乐高示例并使用selector gadget to id.

我从中提取了示例R Studio 教程 http://blog.rstudio.org/2014/11/24/rvest-easy-web-scraping-with-r/。对于下面的代码,1 和 2 有效,但 3 无效。

library(rvest)
lego_movie <- html("http://www.imdb.com/title/tt1490017/")

# 1 - Get rating
lego_movie %>% 
  html_node("strong span") %>%
  html_text() %>%
  as.numeric()

# 2 - Grab actor names
lego_movie %>%
  html_nodes("#titleCast .itemprop span") %>%
  html_text()

# 3 - Get Meta Score 
lego_movie %>% 
  html_node(".star-box-details a:nth-child(4)") %>%
  html_text() %>%
  as.numeric()

我并没有真正了解所有管道和相关代码,因此可能有一些新的奇特工具可以做到这一点......但鉴于上面的答案让您"83/100",你可以这样做:

as.numeric(unlist(strsplit("83/100", "/")))[1]
[1] 83

我想管道看起来会是这样的:

lego_movie %>% 
  html_node(".star-box-details a:nth-child(4)") %>%
  html_text(trim=TRUE) %>%
  strsplit(., "/") %>%
  unlist(.) %>%
  as.numeric(.) %>% 
  head(., 1)

[1] 83

或者正如弗兰克所建议的,您可以评估表达式"83/100"类似的东西:

lego_movie %>% 
  html_node(".star-box-details a:nth-child(4)") %>%
  html_text(trim=TRUE) %>%
  parse(text = .) %>%
  eval(.)
[1] 0.83
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 R 和 rvest 进行网页抓取 的相关文章

随机推荐

  • 如何从网络客户端获取状态码?

    我正在使用WebClient类将一些数据发布到 Web 表单 我想获取表单提交的响应状态代码 到目前为止我已经找到了如果出现异常如何获取状态代码 Catch wex As WebException If TypeOf wex Respons
  • 如何使用 Angular2 数据表

    找不到任何使用教程angular2 data table图书馆在这里 https github com swimlane angular2 data table https github com swimlane angular2 data
  • 传递到 mvn exec:java 时保留参数间距等

    我有一个启动 Maven exec java 进程的 shell 脚本 exec mvn exec java Dexec mainClass Dexec args 现在可悲的是如果我跑步 myMagicShellScript arg1 ar
  • 比较字符串结尾的最佳方法是使用 RIGHT、LIKE 还是其他?

    我需要将字符串的结尾与存储过程中可能的结尾列表进行比较 会被叫很多 大概有10 15个候选结局 此时 仅使用代码的解决方案比创建专用于此的表更好 类似的东西 IF ENDSWITH var foo OR ENDSWITH var bar O
  • Android 支持 React Native 的 LayoutAnimation 吗?

    我没有看到文档中的任何内容 https facebook github io react native docs layoutanimation html指的是缺乏对Android的支持 我正在使用一个简单的预设动画 LayoutAnima
  • 如何使用 AVFoundation 组合不同方向的视频剪辑

    我正在尝试使用 AVFoundation 将多个视频剪辑合并为一个 我可以使用下面的代码使用 AVMutableComposition 创建单个视频 AVMutableComposition composition AVMutableCom
  • SpringBoot @OneToMany 与 Lombok 无限循环

    我的项目使用SpringBoot 它具有双向映射 OneToMany Entity Table name T S Getter Setter EqualsAndHashCode NoArgsConstructor AllArgsConstr
  • Hibernate中通过ID获取对象

    我注意到我们的高级开发人员使用以下代码通过 ID 检索实体 Override public Source get Long id Session session getSession if session null session sess
  • 将数组分成两半,数组总和相等或近似相等

    Problem 具有数值的数组需要分成两半 数组总和大约相等或可能相等 数组中元素的数量或顺序并不重要 probabilites array 0 4 0 15 0 1 0 1 0 2 0 2 0 3 1 45 probabilites 0
  • Stopwatch.ElapsedTicks 线程安全吗?

    如果我有一个共享的System Diagnostics Stopwatch实例 可以多线程调用shared ElapsedTicks以安全的方式并获得准确的结果 以这种方式使用 Stopwatch 的共享实例与使用静态GetTimeStam
  • Foldl 是否比其严格的表亲 Foldl' 更好?

    Haskell 有两个列表左折叠函数 foldl 以及 严格 版本 foldl 不严格的问题foldl是它建造了一座重击塔 foldl 0 1 5 gt 0 1 2 3 4 5 gt 15 这会浪费内存 并且如果列表中的项太多 可能会导致堆
  • 如何检查 flutter web 应用程序中的元素。如何在 Flutter Web 应用程序中进行自动化测试

    在此输入图像描述 https i stack imgur com SN4rr png 我正在尝试检查元素 但它没有响应 任何人都可以建议如何在 flutter web 应用程序中进行自动化测试 或者 建议任何其他测试工具支持 flutter
  • 自动执行将制表符分隔文件中的值乘以 -1 来求反的过程

    我一直在 Excel 中手动处理大量文件 我已经进行了一些搜索 但还没有找到关于如何以自动化方式实现此过程的明确最佳实践 我的手动流程如下 我有一个 tab 制表符分隔 文件 每行总共有 8 个 列 我需要对每行最后 5 列的数值求负 我一
  • 使用 ActionBar 选项卡进行导航时菜单会折叠

    我已经使用支持库中的 ActionBar 来将我的应用程序构建为选项卡式导航栏 我的应用程序中有两个选项卡 这两个片段都有菜单 并且有一个菜单项 我想将其显示为操作栏中的一项操作 但由于某种原因 显示了溢出图标 而不是分配给这些项目的图标
  • 如何确定现在(UTC)是否在 ISO 8601 格式的给定星期几和一天中时间的范围内

    我遇到了如何确定是否DateTime UtcNow 例如 2018 01 01T20 00 00Z 属于另一个时区的给定日期和时间范围内 没有给出具体日期 只是一周中的几天和一天中的时间 给定时间采用 ISO 8601 标准格式 为了简化这
  • 如何在 div 标签上添加带边框的三角形

    我有一个 div 标签 我想在它上面添加一个小三角形 注意 我希望我的 div 标签具有某种颜色的边框 以及另一种颜色的 div 主体 假设我的 div 背景为白色 边框为蓝色 请看这个 http fiddle jshell net pau
  • JPA 2.0 API Maven 工件

    我正在使用 JPA 2 0 我的持久性提供程序是 Hibernate 但是 我只想包含 javax 中的标准 API 但在中心 没有 2 0 工件 我目前正在使用 Hibernate JPA 2 0 工件 但我想使用更标准的东西 这可能吗
  • mongodb 中的条件更新

    我有以下架构 需要进行更新 详细信息如下 不知道该怎么做 UserPromo new Schema sendFBInvite earnedIntros type Number default 0 earningActionCounter t
  • sbt-proguard 与 play 2.2.3

    我们使用 play 2 2 3 开发了一个 Web 应用程序 并希望对其进行混淆 我正在尝试使用sbt proguard https github com sbt sbt proguard插入 我把下面的行PROJECT FOLDER pr
  • 使用 R 和 rvest 进行网页抓取

    我正在尝试rvest学习使用 R 进行网页抓取 我正在尝试为页面的其他几个部分复制乐高示例并使用selector gadget to id 我从中提取了示例R Studio 教程 http blog rstudio org 2014 11