【发布时间】:2021-05-12 07:18:18
【问题描述】:
我正在尝试将标题为 Battle Styles 的表刮到数据框中。 https://bulbapedia.bulbagarden.net/wiki/Battle_Styles_(TCG)#Set_lists
问题在于,许多行包含的图像具有重要信息,而 rvest 中没有提取这些信息。
表格应如下所示:
No. Card name Type Rarity
001/163 Bellsprout Grass Common
002/163 Weepinbell Grass Uncommon
003/163 Victreebel Grass Rare
004/163 Cacnea Grass Common
005/163 Cacturne Grass Uncommon
006/163 KricketuneV Grass Ultra-Rare Rare
007/163 Cherubi Grass Common
008/163 Cherrim Grass Rare Holo
009/163 Carnivine Grass Uncommon
010/163 Durant Grass Uncommon
如果我复制表格并将其粘贴到记事本中,我可以得到这个表格 ^^。
但是我的不包含图片中的任何信息。它看起来像这样:
# A tibble: 184 x 6
No. Image `Card name` Type Rarity Promotion
<chr> <lgl> <chr> <chr> <lgl> <chr>
1 001/163 NA Bellsprout "" NA Promotion
2 002/163 NA Weepinbell "" NA Promotion
3 003/163 NA Victreebel "" NA Promotion
4 004/163 NA Cacnea "" NA Promotion
5 005/163 NA Cacturne "" NA Promotion
6 006/163 NA Kricketune "" NA Promotion
7 007/163 NA Cherubi "" NA Promotion
8 008/163 NA Cherrim "" NA Promotion
9 009/163 NA Carnivine "" NA Promotion
10 010/163 NA Durant "" NA Promotion
图片所需的信息在替代文本中,所以我觉得解决方案应该是直截了当的,但我不知道如何得到它。
这是我的代码:
library(rvest)
BattlestylesURL <- "https://bulbapedia.bulbagarden.net/wiki/Battle_Styles_(TCG)"
temp <- BattlestylesURL %>%
read_html %>%
html_nodes("table")
html_table(temp[16], fill = TRUE)
我认为最令人头疼的是某些列结合了图像和文本,我试图在同一列中包含来自两者的信息的数据框。例如,第 6 行的“卡名”是 Kricketune V。“Kricketune”是文本,而“V”是图片。
我觉得应该有一种简单的方法,但我似乎无法理解它。非常感谢帮助!
我发现的例子很相似: Scraping Wikipedia HTML table with images, text, and blank cells with R 但是,我不知道如何将其应用于这种情况,因为我也在尝试保留行中的文本。
【问题讨论】:
标签: r web-scraping rvest