如何使用 iframe 和 silverlight 提取网站的 html 代码

发布于 2024-09-09 08:41:10 字数 1359 浏览 8 评论 0原文

我需要从网站上加载多个图像的特定网页。我需要提取这些图像,但我无法手动执行此操作,因为每个图像的名称没有模式,并且会有数百个站点。我有一个 silverlight 应用程序来在 iframe 中加载网页,我打算提取该网页的 html,然后从提取的代码中检索每个图像的图像源,然后填充一个列表框。

我可以毫无问题地在 iframe 中加载网页,但我不知道如何检索网页的 html 代码。

public Page()
    {
        InitializeComponent();

        System.Windows.Browser.HtmlElement myFrame = System.Windows.Browser.HtmlPage.Document.GetElementById("ifHtmlContent");
        if (myFrame != null)
        {
            myFrame.SetStyleAttribute("width", "1024");
            myFrame.SetStyleAttribute("height", "768");
            myFrame.SetAttribute("src", txtURI.Text);
            myFrame.SetStyleAttribute("left", "0");
            myFrame.SetStyleAttribute("top", "50");
            myFrame.SetStyleAttribute("visibility", "visible");            
        }
    }

    private void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
        this.Button_Click(sender, e);
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        System.Windows.Browser.HtmlElement myFrame = System.Windows.Browser.HtmlPage.Document.GetElementById("ifHtmlContent");
        if (myFrame != null) myFrame.SetAttribute("src", txtURI.Text);
    }

    private void txtURI_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
            this.Button_Click(sender, e);
    }

I need to load a specific webpage from a site that has multiple images on the site. I need to extract these images but I can't do this manually because the names of each image have no pattern and there will be hundreds of sites. I have a silverlight application to load the webpage in an iframe and I intended on extracting the html for this webpage and then retrieving the image source for each image from the extracted code and then populating a listbox.

I can load the web page in iframe with no problem, but I don't know how to retrieve the html code for the webpage.

public Page()
    {
        InitializeComponent();

        System.Windows.Browser.HtmlElement myFrame = System.Windows.Browser.HtmlPage.Document.GetElementById("ifHtmlContent");
        if (myFrame != null)
        {
            myFrame.SetStyleAttribute("width", "1024");
            myFrame.SetStyleAttribute("height", "768");
            myFrame.SetAttribute("src", txtURI.Text);
            myFrame.SetStyleAttribute("left", "0");
            myFrame.SetStyleAttribute("top", "50");
            myFrame.SetStyleAttribute("visibility", "visible");            
        }
    }

    private void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
        this.Button_Click(sender, e);
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        System.Windows.Browser.HtmlElement myFrame = System.Windows.Browser.HtmlPage.Document.GetElementById("ifHtmlContent");
        if (myFrame != null) myFrame.SetAttribute("src", txtURI.Text);
    }

    private void txtURI_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
            this.Button_Click(sender, e);
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文