如何抓取链接列表中的属性内容 (HTML)

How to scrape the contents of attributes in list of links (HTML)

我正在尝试从 this website 中抓取建筑物名称、地址等。

我曾尝试使用 import.io, Webharvey 等工具,但问题是它只允许我抓取 link 标签中的文本。

下面是我想要使用的相关部分的源代码示例。我想要的是一种抓取文本以及 'data-original-title'、'the data content' 和其他属性数据的方法。

 <div class="container">
    <ul class="c-buildingbar">
        <li><span>Buildings:</span></li>
            <li><a class="acc" data-toggle="popover" data-placement="top" data-original-title="Pavillon Des Soeurs Grises" data-content="1190 Guy Street" href="?building="></a></li>
            <li><a class="acc" data-toggle="popover" data-placement="top" data-original-title="B Building" data-content="2160 Bishop" href="?building=B">B</a></li>
...
</div>

我通常不会在 C# 中工作,但这应该对你有用:

{
    HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
    HtmlAgilityPack.HtmlDocument doc = web.Load ("http://www.concordia.ca/maps/sgw-campus.html");

    foreach (HtmlNode row in doc.DocumentNode.SelectNodes("//li[contains(@class,'acc')]/a")) 
    {
        Console.WriteLine(row.SelectSingleNode("/@data-original-title").Value);
        Console.WriteLine(row.SelectSingleNode("/@data-content").Value);
    }
    Console.ReadKey();
}

虽然我不能自己测试它,但这应该会给你一些有用的东西:)