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

时间:2015-01-22 06:11:59

标签: html web-scraping

我正试图从this website中删除建筑物名称,地址等。

我尝试过使用import.ioWebharvey等工具,但问题是它只允许我抓取链接标记中的文字。

以下是我想要使用的相关部分的源代码示例。我想要的是一种刮除文本的方法,还有“数据原始标题”,“数据内容”和其他属性数据。

 <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>

1 个答案:

答案 0 :(得分:1)

我通常不会在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();
}

虽然我自己无法测试,但这应该会给你一些工作:)