还要模拟点击Google的Search按钮,查询出一些结果,返回到WinForm的WebBrowser上。

解决方案 »

  1.   

    希望各位达人能给出Code。谢谢
      

  2.   

    呵呵,你在google里搜索,观察一下它的网址 :)
      

  3.   

    大概意思是这样的,在C#(Winform)中,放一个TextBox和一个Button,当在TextBox里输入一个关键词,比如:刘德华,然后点击Button,就到Google上搜索出刘德华的图片。并把这些图片保存到本地的文件夹中。哪位老大能给指点指点,愿意把我所有的分赠送给他。
      

  4.   

    看一下 google 搜索时的地址,自己构造这个地址,发送给 google ,分析获得的html code,用正则提取图片地址就ok
      

  5.   

    用webrequest获取网页内容,找出图片的地址,然后把图片保存到本地。
      

  6.   

    比如: 搜索 alonesword 时,地址是:http://www.google.com/search?hl=en&q=alonesword
    ,接受这个地址的 html,分析出图片地址保存图片地址
    以前搞demo 的时候做过一个简单的,不过是web 的,有时间给你
      

  7.   

    谢谢AloneSword(孤剑),我现在也正在研究这个URL,如果你有好的例子,麻烦你发到[email protected] ,谢谢。
      

  8.   

    在Windows应用程序中引入System.Web.dll,调试如下的语名就可以了:string word = HttpUtility.UrlEncode("测试查询");
    string url = "http://www.google.com/search?hl=en&newwindow=1&q=" + word;
    this.webBrowser1.Navigate(url);//如果打开新的窗口或没有WebBrowser则使用如下的方法
    //System.Diagnostics.Process.Start(url);
      

  9.   

    To hbxtlhx: 如果按照你的说法,是又打开一个网页或者把结果写到webbrowser上,我现在不用看到查询的结果,只要把查询出来的图片直接保存到本地就可以了,操作都是在Code behind运行的。到时候本地存下来图片就可以了
      

  10.   

    可使用DrawToBitmap来保存这个图片,比如:private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    using (Bitmap bmp = new Bitmap(this.webBrowser1.ClientRectangle.Width, this.webBrowser1.ClientRectangle.Height))
    {
    this.webBrowser1.DrawToBitmap(bmp, this.webBrowser1.ClientRectangle);
    bmp.Save(@"D:\temp\web.bmp");
    }
    }
      

  11.   

    To hbxtlhx: 你的方法只能把WebBrowser的类似一个截图保存下来,如果WebBrowser里有很多张图片,该怎么办呢?
      

  12.   

    你可以使用WebClient把所有的Html内容都Download下来。
      

  13.   

    用Google图片搜索的话只能搜到一些图片的链接吧,真正的图片还是要一个个点开看的,所以想在后台实现的话基本上不可能觉得
      

  14.   

    To nemolor: 可以的,任何一个网页返回的结果集都是一个HTML文件,将这个文件解析就OK了。而WebClient就封装了这个解析的过程,可以直接用WebClient得到图片。
    代码如下:
    IHTMLImgElement img = (IHTMLImgElement)wbMail.Document.Images[i].DomElement;WebClient wc = new WebClient();
    wc.DownloadFile(img.src, "D:/temp/" + img.fileSize.ToString() + ".jpg");