在HTML表格中查找包含特定图标的单元格

彼得·韦伯

我正在寻找可以通知我特定图标驻留在html表的哪个单元格中的代码。这是我正在使用的:

u <- "http://www.transfermarkt.nl/lionel-messi/leistungsdaten/spieler/28003/saison/2014/plus/1"
doc <- rvest::html(u)
tab <- rvest::html_table(doc, fill = TRUE)[[6]]

“位置”列。指定球员在场上的位置。其中一些带有附加图标。我可以在页面上看到这些图标的存在,如下所示:

rvest::html_nodes(doc, ".kapitaenicon-table")

但这并不能告诉我它们在哪里。我希望代码返回该图标出现在表中“位置”列的第2、10、11、27行中的信息。我怎样才能做到这一点?

hrbrmstr

多一点rvest,XPath魔术可以为您提供索引:

library(rvest)
library(magrittr)
library(XML)

pg <- html("http://www.transfermarkt.nl/lionel-messi/leistungsdaten/spieler/28003/saison/2014/plus/1")

pg %>% 
  html_nodes("table") %>% 
  extract2(6) %>% 
  html_nodes("tbody > tr") %>% 
  sapply(function(x) {
    length(xpathSApply(x, "./td[8]/span[@class='kapitaenicon-table icons_sprite']")) == 1
  }) %>% which

## [1]  2 10 11 27

那得到第6个表,提取trs,然后通过它们查找td带有span/的第8个表class如果XPath搜索失败,它将返回一个空列表,因此您可以使用长度来确定哪些行中td带有图标,哪些行中没有图标。

这:

pg %>% 
  html_nodes(xpath="//table[6]/tbody/tr/td[8]") %>% 
  xmlSApply(xpathApply, "boolean(./span[@class='kapitaenicon-table icons_sprite'])") %>% 
  which

也可以,而且更紧(更快)。它使用XPathboolean操作测试是否存在。如果您没有要在节点上执行的其他操作,这将比较方便。

这是一个xml2版本,尽管我必须相信必须有一种更好的方法来做到这一点xml2

library(xml2)
library(magrittr)

pg2 <- read_html("http://www.transfermarkt.nl/lionel-messi/leistungsdaten/spieler/28003/saison/2014/plus/1")
pg2 %>% 
  xml_find_all("//table[6]/tbody/tr/td[8]") %>% 
  as_list %>% 
  sapply(function(x) {
    inherits(try(xml_find_one(x, "./span"), silent=TRUE), "xml_node")
  }) %>% which

更新

对于版本0.1.0.9000xml2我必须执行以下操作:

pg2 %>% xml_find_all("//table") %>% 
  as_list %>% 
  extract2(6) %>% 
  xml_find_all("./tbody/tr/td[8]") %>% 
  as_list %>% 
  sapply(function(x) {
    inherits(try(xml_find_one(x, "./span"), silent=TRUE), "xml_node")
  }) %>% which

事实并非如此,我已经提交了错误报告

Session info -------------------------------------------------------------------------
 setting  value                       
 version  R version 3.2.0 (2015-04-16)
 system   x86_64, darwin13.4.0        
 ui       RStudio (0.99.441)          
 language (EN)                        
 collate  en_US.UTF-8                 
 tz       America/New_York            

Packages -----------------------------------------------------------------------------
 package    * version date       source        
 curl       * 0.5     2015-02-01 CRAN (R 3.2.0)
 devtools   * 1.7.0   2015-01-17 CRAN (R 3.2.0)
 magrittr     1.5     2014-11-22 CRAN (R 3.2.0)
 Rcpp       * 0.11.5  2015-03-06 CRAN (R 3.2.0)
 rstudioapi * 0.3.1   2015-04-07 CRAN (R 3.2.0)
 xml2         0.1.0   2015-04-20 CRAN (R 3.2.0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML表格单元格中的溢出

来自分类Dev

生成HTML中的表格单元格

来自分类Dev

JavaScript / GoogleApps 查找表格中包含 28 个字符的每个单元格

来自分类Dev

在表格单元格中右对齐图标?

来自分类Dev

更改同一表格单元格中文本和图标的颜色

来自分类Dev

在量角器中,如何检查表格单元格是否包含特定文本?

来自分类Dev

HTML表格,右对齐单元格(不包含内容)

来自分类Dev

将在表格中搜索单元格以查找单词的公式

来自分类Dev

Javascript在表格单元格中查找选择元素

来自分类Dev

包含表格中的单元格的乳胶表

来自分类Dev

表格Excel中包含部分单元格

来自分类Dev

Google 表格 - 查询单元格值包含逗号分隔单元格中的值

来自分类Dev

如何在 jsPDF 自动表格中识别 HTML 类或特定单元格

来自分类Dev

如何制定我的 for 循环代码以在特定的 html 表格单元格中插入值?

来自分类Dev

使用单元格中的文本值查找包含公式的单元格的地址

来自分类Dev

选择单元格中的特定文本-Google表格

来自分类Dev

Xfinium 移除特定表格单元格中的边框

来自分类Dev

无法在HTML中的表格单元格中更改颜色

来自分类Dev

从HTML表格中的单元格中检索选定的值

来自分类Dev

如何从 HTML/CSS 中的表格中删除单元格?

来自分类Dev

如果单元格包含字体图标,为什么表格行会消失

来自分类Dev

选择单元格后,更改QTableView中图标的颜色突出显示

来自分类Dev

选择单元格后,更改QTableView中图标的颜色突出显示

来自分类Dev

如何使用python从html表中(URL上)查找特定单元格的文本?

来自分类Dev

为什么html表格单元格中的按钮会放大该单元格?

来自分类Dev

HTML表格单元格中的其他空格

来自分类Dev

是否可以划掉HTML表格中的单元格?

来自分类Dev

删除Google表格单元格中的HTML

来自分类Dev

HTML表格单元格中的其他空格

Related 相关文章

  1. 1

    HTML表格单元格中的溢出

  2. 2

    生成HTML中的表格单元格

  3. 3

    JavaScript / GoogleApps 查找表格中包含 28 个字符的每个单元格

  4. 4

    在表格单元格中右对齐图标?

  5. 5

    更改同一表格单元格中文本和图标的颜色

  6. 6

    在量角器中,如何检查表格单元格是否包含特定文本?

  7. 7

    HTML表格,右对齐单元格(不包含内容)

  8. 8

    将在表格中搜索单元格以查找单词的公式

  9. 9

    Javascript在表格单元格中查找选择元素

  10. 10

    包含表格中的单元格的乳胶表

  11. 11

    表格Excel中包含部分单元格

  12. 12

    Google 表格 - 查询单元格值包含逗号分隔单元格中的值

  13. 13

    如何在 jsPDF 自动表格中识别 HTML 类或特定单元格

  14. 14

    如何制定我的 for 循环代码以在特定的 html 表格单元格中插入值?

  15. 15

    使用单元格中的文本值查找包含公式的单元格的地址

  16. 16

    选择单元格中的特定文本-Google表格

  17. 17

    Xfinium 移除特定表格单元格中的边框

  18. 18

    无法在HTML中的表格单元格中更改颜色

  19. 19

    从HTML表格中的单元格中检索选定的值

  20. 20

    如何从 HTML/CSS 中的表格中删除单元格?

  21. 21

    如果单元格包含字体图标,为什么表格行会消失

  22. 22

    选择单元格后,更改QTableView中图标的颜色突出显示

  23. 23

    选择单元格后,更改QTableView中图标的颜色突出显示

  24. 24

    如何使用python从html表中(URL上)查找特定单元格的文本?

  25. 25

    为什么html表格单元格中的按钮会放大该单元格?

  26. 26

    HTML表格单元格中的其他空格

  27. 27

    是否可以划掉HTML表格中的单元格?

  28. 28

    删除Google表格单元格中的HTML

  29. 29

    HTML表格单元格中的其他空格

热门标签

归档