从 <div> 中获取列表图像 url
Get a list image urls from inside of a <div>
我正在尝试使用 HtmlAgilityPack 从网页上的一组图像中获取图像 src="" 值并将它们添加到字符串列表中。
我尝试了以下方法,但我没有取回 img 标签。
Dim htmlDoc As New HtmlDocument()
htmlDoc.LoadHtml(GetPage(New Uri(product.Link)))
For Each imageShow As HtmlNode In htmlDoc.GetElementbyId("slideShow").ChildNodes
For Each image In imageShow.Elements("img")
Console.WriteLine(image.Attributes("src").Value)
product.OtherImages.Add(image.Attributes("src").Value)
Next
Next
网页如下
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
...
</head>
<body>
....
<div id="slideShow" class="slideShow">
<div class="slides">
<div class="slide">
<a href="http://mywebsite.com/images/some1.jpg">
<img src="http://mywebsite.com/images/some1.jpg" />
</a>
<div>
<div class="slide">
<a href="http://mywebsite.com/images/some2.jpg">
<img src="http://mywebsite.com/images/some2.jpg" />
</a>
<div>
...
</div>
<div>
....
</body>
</html>
我原以为 image.Attributes("src").Value 是“http://mywebsite.com/images/some1.jpg”
我不知道 xPath 组件,但能够使用以下表达式 select 节点。
Dim htmlDoc As New HtmlDocument()
htmlDoc.LoadHtml(GetPage(New Uri(product.Link)))
For Each slidesNode In htmlDoc.DocumentNode.SelectNodes("//div[@id='slideShow']//div[@class='slides']")
For Each slide In slidesNode.SelectNodes(".//div[@class='slide']")
Console.WriteLine(slide.SelectSingleNode(".//a//img").Attributes("src").Value)
Next
Next
我不确定是否有更快或更好的方法来访问幻灯片节点中的每个图像,但目前看来这可行。
我正在尝试使用 HtmlAgilityPack 从网页上的一组图像中获取图像 src="" 值并将它们添加到字符串列表中。
我尝试了以下方法,但我没有取回 img 标签。
Dim htmlDoc As New HtmlDocument()
htmlDoc.LoadHtml(GetPage(New Uri(product.Link)))
For Each imageShow As HtmlNode In htmlDoc.GetElementbyId("slideShow").ChildNodes
For Each image In imageShow.Elements("img")
Console.WriteLine(image.Attributes("src").Value)
product.OtherImages.Add(image.Attributes("src").Value)
Next
Next
网页如下
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
...
</head>
<body>
....
<div id="slideShow" class="slideShow">
<div class="slides">
<div class="slide">
<a href="http://mywebsite.com/images/some1.jpg">
<img src="http://mywebsite.com/images/some1.jpg" />
</a>
<div>
<div class="slide">
<a href="http://mywebsite.com/images/some2.jpg">
<img src="http://mywebsite.com/images/some2.jpg" />
</a>
<div>
...
</div>
<div>
....
</body>
</html>
我原以为 image.Attributes("src").Value 是“http://mywebsite.com/images/some1.jpg”
我不知道 xPath 组件,但能够使用以下表达式 select 节点。
Dim htmlDoc As New HtmlDocument()
htmlDoc.LoadHtml(GetPage(New Uri(product.Link)))
For Each slidesNode In htmlDoc.DocumentNode.SelectNodes("//div[@id='slideShow']//div[@class='slides']")
For Each slide In slidesNode.SelectNodes(".//div[@class='slide']")
Console.WriteLine(slide.SelectSingleNode(".//a//img").Attributes("src").Value)
Next
Next
我不确定是否有更快或更好的方法来访问幻灯片节点中的每个图像,但目前看来这可行。