大家到这里看一下:http://www.iciba.com/比如 ,我想查单词 king  ,然后点及 查一下,那么就会转到下面这个页面:http://www.iciba.com/king/0c6a96355d4587360e187fbaafa833b7/ 页面中会有 :机器翻译参考:国王 我在想,能不能通过 www.iciba.com 把要查的词的解释 显示 到我的 WinForm 中呢?
因为它并不是单纯的在页面中截取 单词,主要是 要处理 查一下,我不知道如何编程。

解决方案 »

  1.   

    呵呵,我刚编写了一个从http://www.iciba.com/抓取单词四种形式的(过去式、过去分词、现在分词和复数)的程序
      

  2.   

    不知道你说的2楼是不是指我?
    http://topic.csdn.net/u/20100512/15/98500bc9-3b4d-4ff5-a7d4-bafbb09e455a.html
      

  3.   

    公司有个需求,需要根据单词原形获取单词的另外四种形态,或根据单词的形态获取单词原形,所以我弄了个数据库,将单词的四种形态存到数据库里
    这是我存好的1.5个单词四种形态的数据库
    http://download.csdn.net/source/2351439
      

  4.   

    Post请求~   用WebRequest
      

  5.   

    我记得跳这个就行了:http://www.iciba.com/king/
      

  6.   


    我晕,呵呵。刚试了一下,只要在URL后直接输入单词就OK了。
    http://www.iciba.com/king
    http://www.iciba.com/china
    http://www.iciba.com/love...
    我是不是要结贴了,不过我还是很想问一下,我如何在WINFORM中执行一下WEB中的那个查一下过程?
      

  7.   


    你用Winform的 WebBrower 控件不就行了?
      

  8.   

      private void GetWordFuncByWebBrowser()
            {
                btnStart.Enabled = false;
                lblInfo.Visible = true;
                lblTime.Visible = true;
                lblInfo.Text = "0/" + ds.Tables[0].Rows.Count.ToString();            prgBar.Maximum = ds.Tables[0].Rows.Count;            int i = 0;
                long t1 = DateTime.Now.Ticks;
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    //web.Url=new Uri("http://www.iciba.com/" + dr["sst_Word"].ToString());
                    web.Navigate("http://www.iciba.com/" + dr["sst_Word"].ToString());
                    dr["sst_GQS"] = ""; //过去式
                    dr["sst_GQFC"] = "";//过去分词
                    dr["sst_XZFC"] = ""; //现在分词
                    dr["sst_FS"] = "";//复数
                    m_drCurrentWord = dr;
                    int n = 0;
                    while (m_strCurrentWord != dr["sst_Word"].ToString().ToLower())
                    {
                        if (n > 100)
                        {
                            dr["aa"] = 1;
                            break;
                        }
                        n++;
                        System.Threading.Thread.Sleep(100);
                        Application.DoEvents();                }                i++;                if (i % 10 == 0)
                    {
                        if (i % 100 == 0)
                        {
                            da.Update(ds, tabName);
                        }                    TimeSpan tm = new TimeSpan((DateTime.Now.Ticks - t1) * (ds.Tables[0].Rows.Count - i) / i);
                        lblTime.Text = "大约还需要";
                        if (tm.Hours > 0)
                        {
                            lblTime.Text += tm.Hours + "小时" + tm.Minutes + "分" + tm.Seconds + "秒";
                        }
                        else if (tm.Minutes > 0)
                        {
                            lblTime.Text += tm.Minutes + "分" + tm.Seconds + "秒";
                        }
                        else
                        {
                            lblTime.Text += tm.Seconds + "秒";
                        }
                    }                lblInfo.Text = i.ToString() + "/" + ds.Tables[0].Rows.Count.ToString();
                    this.Text = lblInfo.Text + "  " + lblTime.Text;
                    prgBar.Value = i;                if (btnStart.Enabled)  //已停止
                    {
                        break;
                    }
                    System.Threading.Thread.Sleep(100);
                    Application.DoEvents();            }
                da.Update(ds, tabName);            btnStart.Enabled = true;
                lblInfo.Visible = false;
                lblTime.Visible = false;
            }        private void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                if (web.IsBusy)
                    return;            Get(web.DocumentText); //处理抓取的页面            int i = web.DocumentTitle.IndexOf("是");
                if (i > 0)
                {
                    m_strCurrentWord = web.DocumentTitle.Substring(0, i).ToLower();
                }
                else
                {
                    string strKey = "\"keywords\" content=\"";
                    i = web.DocumentText.IndexOf(strKey) + strKey.Length;
                    int j = web.DocumentText.IndexOf("的", i + 1);
                    m_strCurrentWord = web.DocumentText.Substring(i, j - i).ToLower();
                }            web.DocumentText = "";        }
      

  9.   

    这个就是用webBrowser控件
    也可以用WebClient组件
      

  10.   

    TO 13  你用Winform的 WebBrower 控件不就行了?那用Winform的 WebBrower 控件如何执行那个查一下过程?
      

  11.   

    添加一个TextBox, 当在TextBox中输入 china 后, 
         1)按回车捕获其回车事件; 
    或是 2)再添加一个Button按钮,点击Button时的单击事件中;  
    设置 WebBrower 的URL为: 
    webBrower.URL="http://www.iciba.com/china";  即可.