从网页中获取一些数据
本文关键字:数据 获取 网页 | 更新日期: 2023-09-27 18:06:54
我使用这个教程通过c#代码获取了一些网页的所有内容。
我现在想收集到一个IEnumerable集合中,所有的字符串都以以下文本模式装饰:(即MY-TEXT)
data-address=" MY-TEXT "></
我该怎么做呢?我尝试使用"string.split()",但得到了许多"白噪音"。
任何想法?
一个更好的解决方案是使用htmllagilitypack并让它为您处理解析/抓取。下面是一个例子:
var web = new HtmlWeb();
var doc = web.Load("http://www.stackoverflow.com");
var nodes = doc.DocumentNode.SelectNodes("//[@data-address]");
foreach (var node in nodes)
{
Console.WriteLine(node.Attributes["data-address"].Value);
}
这将获取stackoverflow.com,找到所有具有data-address
属性的元素,然后打印该属性的值。
如果页面格式良好,我会将内容加载到XDocument中,并使用LINQ to XML对其进行查询。
@alexn是对的。一个小小的修正:
var nodes = doc.DocumentNode.SelectNodes("//*[@data-address]");
添加了*