我尝试使用HtmlAgilityPack从html解析图像url。在html doc中我有img标签:
<a class="css_foto" href="" title="Fotka: MyKe015">
<span>
<img src="http://213.215.107.125/fotky/1358/93/v_13589304.jpg?v=6"
width="176" height="216" alt="Fotka: MyKe015" />
</span>
</a>
我需要从这个img标签获取atribute src。我需要这个: http://213.215.107.125/fotky/1358/93/v_13589304.jpg?v=6。
我知道:
任何进步,我尝试了很多方法,但没有任何效果。
最后我试试这个:
List<string> src;
var req = (HttpWebRequest)WebRequest.Create("http://pokec.azet.sk/myke015");
req.Method = "GET";
using (WebResponse odpoved = req.GetResponse())
{
var htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.Load(odpoved.GetResponseStream());
var nodes = htmlDoc.DocumentNode.SelectNodes("//img[@src]");
src = new List<string>(nodes.Count);
if (nodes != null)
{
foreach (var node in nodes)
{
if (node.Id != null)
src.Add(node.Id);
}
}
}
答案 0 :(得分:3)
您的XPath选择img
个节点,而不是属于它们的src
属性。
而不是(选择具有src
属性的所有图像标记):
var nodes = htmlDoc.DocumentNode.SelectNodes("//img[@src]");
使用此选项(选择所有src
元素的子节点的img
属性):
var nodes = htmlDoc.DocumentNode.SelectNodes("//img/@src");
答案 1 :(得分:0)
此XPath 1.0表达式:
//a[@alt='Fotka: MyKe015']/@src