从网页中获取一些数据

本文关键字:数据 获取 网页 | 更新日期: 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]");

添加了*