在 RStudio 中网络抓取 VIN 号码的品牌/型号/年份

2024-04-10

我目前正在开展一个项目,需要查找制造商、型号和 VIN 编号年份。我有 300 个不同 VIN 号码的列表。检查每个单独的 VIN 号码并将制造商、型号和年份手动输入到 Excel 中是非常低效且乏味的。

我尝试使用带有 SelectorGadget 的 Rvest 包在 R 中编写几行代码,以便抓取该网站以获取信息,但没有成功:

这是我的代码:

library("rvest")
Vnum = "1G2HX54K724118697"
site <- paste("http://www.vindecoder.net/?vin=", Vnum,"&submit=Decode",sep="")
htmlpage <- html(site)
VINhtml <- html_nodes(htmlpage, ".odd:nth-child(6) , .even:nth-child(5) , .even:nth-child(7)")
VIN <- html_text(forecasthtml)
paste(forecast, collapse =" ")

当我尝试运行 VINhtml 时,收到错误消息: 列表() attr(,"类") [1]《XML节点集》

我不知道我做错了什么。我认为它不起作用,因为它是一个动态网页,但我可能是错的。有人对解决这个问题的最佳方法有什么建议吗?

我也愿意使用其他网站或替代方法来解决这个问题。我只想找到这些 VIN 的型号、制造商和型号年份。谁能帮我找到一种有效的方法来做到这一点?

以下是一些 VIN 示例: YV4SZ592561226129 YV4SZ592371288470 YV4SZ592371257784 YV4CZ982871331598 YV4CZ982581428985 YV4CZ982481423003 YV4CZ982381423543 YV4CZ982171380593 YV4CZ982081460887 YV4CZ852361288222 YV4CZ852281454409 YV4CZ852281454409 YV4CZ852281454409 YV4CZ592861304665 YV4CZ592861267682 YV4CZ592561266859


这是使用的解决方案RSelenium and rvest.

要运行 RSelenium,您必须首先从以下位置下载 selenium 服务器:here http://www.seleniumhq.org/download/(我的是2.45版本)。假设下载的文件位于“我的文档”目录中。然后,在运行之前,您必须在cmd中运行以下两个步骤RSelenium in IDE.
在cmd中输入以下内容: A)cd My Documents# 我在“我的文档”文件夹中安装了 selenium 驱动程序 b) 然后输入:java -jar selenium-server-standalone-2.45.0.jar

library(RSelenium)
library(rvest) 
startServer() 
remDr <- remoteDriver(browserName = 'firefox')
remDr$open()
Vnum<- c("YV4SZ592371288470","1G2HX54K724118697","YV4SZ592371288470")

kk<-lapply(Vnum,function(j){

  remDr$navigate(paste("http://www.vindecoder.net/?vin=",j,"&submit=Decode",sep=""))
  Sys.sleep(30) # this is critical
  test.html <- html(remDr$getPageSource()[[1]]) # this is RSelenium but after this we can use rvest functions until we close the session
  test.text<-test.html%>%
  html_nodes(".odd:nth-child(6) , .even:nth-child(5) , .even:nth-child(7)")%>%
  html_text()
})
kk
[[1]]
[1] "Model: XC70"                          "Type: Multipurpose Passenger Vehicle" "Make: Volvo"                         

[[2]]
[1] "Model: Bonneville"            "Make (Manufacturer): Pontiac" "Model year: 2002"            

[[3]]
[1] "Model: XC70"                          "Type: Multipurpose Passenger Vehicle" "Make: Volvo"   

remDr$close()

附:您可以看到,相同的 css 路径并不适用于所有 VIN。你必须提前弄清楚这一点(我只是使用了你在问题中提供的路径)。你可以使用某种tryCatch http://adv-r.had.co.nz/Exceptions-Debugging.html.

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

在 RStudio 中网络抓取 VIN 号码的品牌/型号/年份 的相关文章

  • 为什么“str_extract”只捕获其中一些值?

    我有一个表 其中有一个 会员类型 列 其中包括我们多年来使用的无数不同的会员级别 example lt data frame membership c Legacy Payment ID 3564 Payment Record 0 Peri
  • 在 R 中,如何将 SpatialPolygons* 转换为地图对象

    我正在尝试利用ProportionalSymbolMap在此定义的地图JSS论文 http www jstatsoft org v15 i05 为了绘制比例符号 我首先需要一个地图类的对象 The methods http www ncea
  • ggarrange:合并多个图

    附图来自以下文章 正在使用 ggarrange 合并这些图 http www sthda com english articles 24 ggpubr publication ready plots 81 ggplot2 easy way
  • R:行数不相等的列绑定

    我有两个数据集 它们每个都有变量 ID Block 和 RT 反应时间 我想合并 列绑定这两个集合 以便我拥有一个包含变量的数据集 ID 块 RT1 RT2 问题是两个集合中的行数不相等 此外 ID 和块号匹配也很重要 缺失值应替换为 NA
  • 根据特定行中的值对列重新排序。

    我在数据框中有以下数据 aa bb cc 1 3 4 5 2 5 4 3 3 7 8 6 100 33 63 55 我需要根据最后一行中的值对列重新排序 这种转变的结果将是 bb cc aa 1 4 5 3 2 4 3 5 3 8 6 7
  • 在 Rlattice xyplot 上分别控制轴刻度和轴线

    我怎样才能去除周围的盒子xyplot 同时保留轴刻度刻度线 本着爱德华 塔夫特 Edward Tufte 极简主义数据图形美学的精神 这些轴线是 非数据墨水 并且可以 应该 被 擦除 library lattice my df lt dat
  • 在闪亮应用程序的 DT::datatable 中添加、删除和编辑行

    我有下面闪亮的应用程序 我可以通过按添加新行Add基于闪亮的小部件选择 我可以通过按选择并删除一行Delete我想将它们与单击一行的功能结合起来 然后在按Edit 例如 如果我单击第二行 然后更改Security Type小部件来自Stoc
  • ggplot2 - 在绘图顶部添加辅助 y 轴

    对于出版物 我需要向现有绘图添加第二个 y 轴 我遇到了一种方法来做到这一点 https rpubs com kohske dual axis in ggplot2 https rpubs com kohske dual axis in g
  • 将 12 小时字符时间转换为 24 小时

    我有一个包含字符格式时间的数据集 我试图将其从 12 小时格式转换为 24 小时格式 我做了一些搜索 但我发现的所有内容似乎都假设字符已经采用 24 小时格式 这是我工作时的一个例子 times lt c 9 06 AM 4 42 PM 3
  • 将其他数据集的点添加到ggplot2

    关于这个主题已经有很多问题 但我找不到能回答我的具体问题的问题 我有一个barplot see testplot1 and testplot3如下 绘制数据集 bardata如下 并希望从另一个数据集向其添加点 pointdata 请参阅简
  • dplyr +“meta”-columns:当列包含要使用的其他列的名称而不是数据时

    我想知道以下问题在 dplyr 中是否有一个优雅的解决方案 要提供一个简单的可重现示例 请考虑以下 data frame df lt data frame a 1 5 b 2 6 c 3 7 ref c a a b b c stringsA
  • ess-rdired:我收到此错误“现在没有 ESS 进程与此缓冲区关联”

    To use ess rdired为了浏览对象 我按照 ESS 手册并将以下内容添加到我的 emacs autoload ess rdired ess rdired View R objects in a dired like buffer
  • 无效的命令名称“tk_chooseDirectory”错误

    我使用 bioconductor 进行 WES 管道 并使用 tk choose dir 选择用户存储输入文件的目录 并将其存储以供进一步使用 这里是命令行 library tcltk dataDir lt dirname tk choos
  • r:按多列分组并计数

    我有以下数据框 df LeftOrRight SpeedCategory NumThruLanes R 25to45 3 L 45to62 2 R Gt62 1 我想按速度类别对其进行分组 并循环遍历其他列以获取每个速度类别中每个唯一代码的
  • R 带有列和行的分面 qqplots

    我需要使用按行和列的构面创建 qqplot 我了解如何用列和行绘制分面图 但我不确定如何设置我的数据 最终 我想按列和行对数据集进行分组 然后按升序对 建模 结果和 观察到 结果进行排序 同时添加带有 行 组的列和带有 列 组的列 我一直在
  • 在 R 中安全地计算算术表达式?

    Edit 好吧 由于似乎有很多混乱 我将稍微简化一下问题 您可以尝试回答下面的原始问题 或者您可以解决此版本并忽略该行下面的所有内容 我的目标是采用任意表达式并在极其受限的环境中对其进行评估 该环境将仅包含具有以下类型值的变量 数值向量 接
  • mlogit:需要 TRUE/FALSE 时缺少值

    我有来自离散选择实验 DCE 的数据 该实验研究了来自不同行业的个人的招聘偏好 我已经格式化为长格式 我想使用 mlogit 进行建模 我已导出数据 并且可以使用 asclogit 命令在 Stata 中成功运行模型 但在 R 中运行时遇到
  • 根据 R 中的字符串模式选择行

    假设我有以下数据 df lt data frame name c TO for Turnover for people HC people Hello world beenie man apple pears TO is number c
  • R中使用余弦距离的层次聚类

    我想通过使用余弦相似度与 R 编程语言对文档语料库进行层次聚类 但出现以下错误 if is na n n gt 65536L stop 大小不能为 NA 或 超过 65536 需要 TRUE FALSE 时缺少值 我应该怎么办 为了重现它
  • 在 R 的替换命令中取消引用字符串

    我想知道是否可以unquote通过替换命令传递给表达式的字符串 具体来说 我使用 dplyr 从数据框中过滤和选择 gt w subject sex response 1 1 M 19 08 2 2 M 16 46 6 6 M 23 60

随机推荐

  • 如何在 SQLAlchemy 和 Firebird 中将 Python 列表绑定为自定义查询中的参数?

    环境 我使用 Firebird 数据库和 SQLAlchemy 作为 ORM 包装器 背景 我知道通过使用in 可以通过sales id列出在IN子句并得到结果 我有一个必须使用的用例文本sql Question 这是我的片段 conn e
  • 如何解决 macOS 中的 zsh: command not found: flutterfire 问题?

    我跟着document https firebase flutter dev docs overview using the flutterfire cli在我的 flutter 应用程序中添加 firebase 我收到 1 条警告和消息
  • 悬停时突出显示自定义 QWidgetAction

    我的应用程序有一个QMenuBar与一些QMenus 其中每个都有多个QActions 和子QMenus 大部分的QAction 项目是衍生品QWidgetAction并重新实施QWidgetAction createWidget方法 通常
  • 在 select 语句中使用命名元组

    有没有更好的方法使用 var 目标变量在 C 7 中选择命名元组 我一定是在示例 1 中做错了什么 或者完全误解了某些内容 我似乎必须显式设置目标类型才能执行此操作 1 Fails to compile with incorrect num
  • 如何获取订单密钥以在 WooCommerce 中创建自定义订单返回 url

    这是我用来获取自定义订单返回 URL 的代码 global woocommerce test order new WC Order order id test order key test order gt order key return
  • Scipy 对数范数拟合直方图

    我正在将对数正态 pdf 拟合到一些分箱数据 但我的曲线与数据不太匹配 请参见下图 我的代码是 import numpy as np import matplotlib pyplot as plt from scipy stats impo
  • 我可以在 Microchip C18 中创建一个同时接受 ram 和 rom 指针的函数吗?

    当我声明一个接受的函数时const char 我传递了一个字符串文字 我得到了一个 警告 2066 赋值中的类型限定符不匹配 因为字符串文字是rom const char 反过来也是一样的 虽然PIC是哈佛架构 但内存被映射到一个连续的地址
  • 如何将 Enum 绑定到 bit 或 int 的 DbType?

    我正在使用 Linq2Sql 并希望将对象字段 枚举 绑定到数据库中的 bit 或 int 类型 例如 我想在我的模型中有一个性别字段 我已经编辑了 DBML 并将类型更改为指向我的枚举 我想使用相同的想法为性别创建单选按钮 我想我已经弄清
  • 在 logback 中记录并行线程

    我将尝试对我的 Selenium 框架进行简要描述 以便我可以解释我的问题 I use 硒2 当前版本2 3 1 测试NG 5 14 我设置 testng xml 文件来并行运行测试套件中的测试 只有 2 个实例 出于记录目的 我使用log
  • Chrome 中忽略 window.open 宽度

    我想创建一个固定大小的弹出窗口 但是在 Chrome 中宽度属性被忽略 但在 FF 中工作正常 这是我的代码 window open width 300 生成的弹出窗口大于给定的宽度 有什么建议么 这似乎是 Chrome 中的一些奇怪的怪癖
  • 如何从 unicode 字符串中获取正确的元素?

    我想使用索引从 unicode 字符串中获取特定字母 但是 它并没有按预期工作 Example var handwriting 1234567890 var normal abcdefghijklmnopqrstuvwxyzABCDEFGH
  • 在shiny R中输入向量然后使用它

    在 Shiny R 中 我想要一种简单的方法来将向量作为 ui R 中的用户输入 然后想在 server R 中的函数中使用它 我是闪亮的新手 请帮忙 这里有一些简单的方法可以帮助您入门 祝您好运 请记住 下次发布一些代码 否则你肯定会被否
  • 创建像 ASP.NET MVC 3 ViewBag 这样的类?

    我有一种情况 我想做一些类似于 ASP NET MVC 3 ViewBag 对象所做的事情 其中 属性是在运行时创建的 或者是在编译时 无论如何 我想知道如何创建具有这种行为的对象 我创建了这样的东西 public class MyBag
  • 如何使用 mpsc 通道在线程之间创建环形通信?

    我想生成 n 个能够与环形拓扑中的其他线程通信的线程 例如线程 0 可以向线程 1 发送消息 线程 1 可以向线程 2 发送消息 等等 线程 n 可以向线程 0 发送消息 这是我想用 n 3 实现的示例 use std sync mpsc
  • c中的联合初始化

    我想知道联合变量是否会像结构变量一样被初始化 include
  • Typescript:在单独的文件中定义类及其方法

    是否可以在一个文件中声明一个类并在单独的文件中定义其方法 我有一些课程a lot方法 如果我能把它们分散一点那就太好了 简短回答 Typescript 不支持将类定义拆分为多个文件 解决方法 您可以定义一个包含类成员的接口 以及两个实现该接
  • 有谁遇到过“encodeURIComponent(string)”的跨浏览器问题

    我需要动态地从一些自定义字符串值创建 URL 我有疑问encodeURIComponent string https developer mozilla org en JavaScript Reference Global Objects
  • 体系结构 x86_64 的未定义符号:GCC

    我在我的 mac pro 上安装了 gcc 5 3 0 我想使用以下命令编译 c 程序 gcc main c o matrix mcmodel medium lm 但是我收到了这个错误 Undefined symbols for archi
  • Rails 资产管道和摘要价值

    有谁知道资产消化价值到底是怎么计算的吗 如果我有两个 JS 文件 其中包含各种其他包含的 JS 脚本 那么如果内部脚本都没有更改 每个文件是否会维护相同的摘要哈希 或者每次运行 asset precompile 操作时都会计算新的摘要值 接
  • 在 RStudio 中网络抓取 VIN 号码的品牌/型号/年份

    我目前正在开展一个项目 需要查找制造商 型号和 VIN 编号年份 我有 300 个不同 VIN 号码的列表 检查每个单独的 VIN 号码并将制造商 型号和年份手动输入到 Excel 中是非常低效且乏味的 我尝试使用带有 SelectorGa