HTML刮使用HTML敏捷性包
问题描述:
我有一个包含以下代码HTML刮使用HTML敏捷性包
<div id="image_src" style="display: block; ">
<img id="captcha_img" src="" alt="image" onclick="imageClick(event)" style="cursor:crosshair;">
在这一个HTML如何检测使用HTML敏捷性包的SRC?
从另一个问题,我使用下面的LINQ
var urls = document.DocumentNode.Descendants("img")
.Select(e => e.GetAttributeValue("src", null))
.Where(s => !String.IsNullOrEmpty(s));
,但我不断收到此空指针异常尝试...
我有鉴于整个HTML只有一个图像标记像上面
有人可以帮助我..
答
使用HTML敏捷性包
HtmlAgilityPack.HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
string imgValue = doc.DocumentNode.SelectSingleNode("//img[@id = \"captcha_img\"]").GetAttributeValue("src", "0");
答
要解决空指针异常,将每个Linq语句分解成它自己的行,如下所示:
var img = document.DocumentNode.Descendants("img");
var s = img.Select(e => e.GetAttributeValue("src", null));
var w = s.Where(s => !String.IsNullOrEmpty(s));
然后,用调试器遍历每一行,看看它在哪里抛出。