获取一个没有网络浏览器的文件url-C#

本文关键字:浏览器 网络 文件 url-C# 一个 获取 | 更新日期: 2023-09-27 18:25:28

我正在尝试获取图像的Url,目前我有这个代码,它确实可以工作,但需要一个webBrowser来完成。

    public void getFileUrl(HtmlDocument htmlDocument)
    {
        HtmlElementCollection htmlCollectionImage = htmlDocument.Images;
        foreach (HtmlElement htmlImage in htmlCollectionImage)
        {
            string Url = htmlImage.GetAttribute("src");
            if (Url.StartsWith("http://www.exemple.com/"))
            {
                MessageBox.Show(Url);
            }
        }
    }

我需要解决一些不需要网络浏览器的问题,但我真的不知道该怎么做。

此外,我需要为该方法提供一个简单的string,而不是HtmlDocument htmlDocument

有其他选择吗?

获取一个没有网络浏览器的文件url-C#

试试这样的东西:

static void Main()
{
    var fileUrls = GetFileUrl(@"https://stackoverflow.com/questions/34054662/get-a-file-url-without-webbrowser-c-sharp", @"https://www.gravatar.com/");
    foreach (string url in fileUrls)
    {
        Console.WriteLine(url);
    }
    Console.ReadKey();
}
public static IEnumerable<string> GetFileUrls(string url)
{
    var document = new HtmlWeb().Load(url);
    var urls = document.DocumentNode.Descendants("img")
                                    .Select(e => e.GetAttributeValue("src", null))
                                    .Where(s => s.ToLower().StartsWith(pattern));
    return urls;
}

改编自:如何使用HTML敏捷包从网站上检索所有图像?

已编辑以包含用法并向GetFileUrls()添加模式参数。