本人菜鸟,想知道怎么写C#代码实现对网页的操作,例如用代码打开IE“百度”(使IE页面显示在自己的程序窗口里)在文本框里面显示自己预先设置好的内容并自动确认搜索,还有提取网页中的jpg或gif图片并显示在自己的程序窗口中,请求高手来帮忙,本人很纠结.............................

解决方案 »

  1.   

    先自已构造查询网址,取回搜索结果,分析搜索网页源码,再截取放到自己的程序里.
    1.构造查询网址,如:http://www.baidu.com/s?wd=%B1%A8%CF%B2%C4%F1
    (查询"报喜鸟",汉字编码用UTF-8)
    code:
    //要抓取的URL地址  
    string Url = "http://www.baidu.com/s?wd=%B1%A8%CF%B2%C4%F1";  2.取回查询结果
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);  
    //声明一个HttpWebRequest请求  
    request.Headers.Set("Pragma", "no-cache");  
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();  
    Stream streamReceive = response.GetResponseStream();  
    Encoding encoding = Encoding.GetEncoding("GB2312");  
    StreamReader streamReader = new StreamReader(streamReceive, encoding);  
    strResult = streamReader.ReadToEnd();  3.分析查询结果:
    //取出和数据有关的那段源码  
    int iBodyStart = strResult .IndexOf("<body", 0);  
    int iStart = strResult .IndexOf("歌曲TOP500", iBodyStart);  
    int iTableStart = strWebContent.IndexOf("<table", iStart);  
    int iTableEnd = strWebContent.IndexOf("</table>", iTableStart);  
    string strWeb = strWebContent.Substring(iTableStart, iTableEnd - iTableStart + 8); 4.生成文档放在自己的程序中
    //生成HtmlDocument  
    WebBrowser webb = new WebBrowser();  
    webb.Navigate("about:blank");  
    HtmlDocument htmldoc = webb.Document.OpenNew(true);  
    htmldoc.Write(strWeb);  
    HtmlElementCollection htmlTR = htmldoc.GetElementsByTagName("TR");  
    foreach (HtmlElement tr in htmlTR)  
    {  
    string strID = tr.GetElementsByTagName("TD")[0].InnerText;  
    string strName = SplitName(tr.GetElementsByTagName("TD")[1].InnerText, "MusicName");  
    string strSinger = SplitName(tr.GetElementsByTagName("TD")[1].InnerText, "Singer");  
    strID = strID.Replace(".", "");  
    //插入DataTable  
    AddLine(strID, strName, strSinger,"0");  
    string strID1 = tr.GetElementsByTagName("TD")[2].InnerText;  
    string strName1 = SplitName(tr.GetElementsByTagName("TD")[3].InnerText, "MusicName");  
    string strSinger1 = SplitName(tr.GetElementsByTagName("TD")[3].InnerText, "Singer");  
    //插入DataTable  
    strID1 = strID1.Replace(".", "");  
    AddLine(strID1, strName1, strSinger1,"0");  
    string strID2 = tr.GetElementsByTagName("TD")[4].InnerText;  
    string strName2 = SplitName(tr.GetElementsByTagName("TD")[5].InnerText, "MusicName");  
    string strSinger2 = SplitName(tr.GetElementsByTagName("TD")[5].InnerText, "Singer");  
    //插入DataTable  
    strID2 = strID2.Replace(".", "");  
    AddLine(strID2, strName2, strSinger2,"0");   
    InsertData(dt);   
    dataGridView1.DataSource = dt.DefaultView;//以上很详细,根据自己的实际情况,改一下查询结果代码分析,就能变成自己的程序.
    //如果可以请给分,我没分下载了.