我正试图从this website中删除建筑物名称,地址等。
我尝试过使用import.io,Webharvey等工具,但问题是它只允许我抓取链接标记中的文字。
以下是我想要使用的相关部分的源代码示例。我想要的是一种刮除文本的方法,还有“数据原始标题”,“数据内容”和其他属性数据。
<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>
答案 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();
}
虽然我自己无法测试,但这应该会给你一些工作:)