【问题标题】:extracting node information提取节点信息
【发布时间】:2025-12-28 12:05:11
【问题描述】:

使用 XML 库,我已经解析了一个网页

basicInfo <- htmlParse(myURL, isURL = TRUE)

其中的相关部分是

<div class="col-left"><h1 class="tourney-name">Price Cutter Charity Championship Pres'd         by Dr Pep</h1><img class="tour-logo" alt="Nationwide Tour" src="http://a.espncdn.com/i/golf/leaderboard11/logo-nationwide-tour.png"/></div>

我可以设法提取锦标赛名称

tourney <- xpathSApply(basicInfo, "//*/div[@class='col-left']", xmlValue)

但也希望通过使用 alt 标签了解它的游览。在这种情况下,我想得到“Nationwide Tour”的结果

TIA 需要滚动并道歉

【问题讨论】:

    标签: r xml-parsing web-scraping


    【解决方案1】:

    不知道 R,但我很擅长 XPath

    试试这个:

    tourney_name <- xpathSApply(basicInfo, "//*/div[@class='col-left']/h1/text()", xmlValue)
    tourney_loc <- xpathSApply(basicInfo, "//*/div[@class='col-left']/img/@alt", xmlValue)
    

    注意使用“@”提取属性和使用 text() 提取文本节点(看起来像 R 自动执行此操作),我修改后的 tourney_name xpath 应该做同样的事情,但更清楚的是哪个部分被提取.

    【讨论】:

    • 马克。看起来这会奏效。只需省略 tourney_loc 上 alt 属性的 xmlValue 参数
    最近更新 更多