我想从互联网上获取一些网页,并通过在 C# 中使用 HtmlAgilityPack 获取页面上某些图像的绝对 URL。
问题是...
网站会先将URL重定向到另一个 URL,然后标签中的src
属性是相关 URL。<img>
目前,我有一些这样的代码:
using HtmlAgilityPack;
HtmlDocument webpageDocument = new HtmlWeb().Load("http://xyz.example.com/");
HtmlNodeCollection nodes = webpageDocument.DocumentNode.SelectNodes("//img");
String url = nodes[0].Attributes["src"].Value.ToString();
上面的代码从给定的示例 url 中获取网页,并<img>
从 DOM 树中获取一些元素,并获取src
它的属性。
如果<img>
有绝对网址,它就可以工作。但不幸的是,我要处理的网站给了我一个相关的 URI(例如/img/01.png
)。我需要绝对 URL,以便我可以对图像进行更多选择。
所以,我需要知道什么 URL 是给定的基本 URLsrc
,但失败了。或者,换句话说,我不知道如何在redirect之后获取网页的位置。
服务器端不是我的(我无法控制它)。