1

我需要从站点上具有多个图像的站点加载特定网页。我需要提取这些图像,但我无法手动执行此操作,因为每个图像的名称都没有模式,并且会有数百个站点。我有一个 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);
    }
4

1 回答 1

0

以下文章可能会提供一些帮助:http: //jesseliberty.com/2010/05/03/screen-scraping-when-all-you-have-is-a-hammer/

于 2010-07-15T05:37:22.203 回答