大家到这里看一下:http://www.iciba.com/比如 ,我想查单词 king ,然后点及 查一下,那么就会转到下面这个页面:http://www.iciba.com/king/0c6a96355d4587360e187fbaafa833b7/ 页面中会有 :机器翻译参考:国王 我在想,能不能通过 www.iciba.com 把要查的词的解释 显示 到我的 WinForm 中呢?
因为它并不是单纯的在页面中截取 单词,主要是 要处理 查一下,我不知道如何编程。
因为它并不是单纯的在页面中截取 单词,主要是 要处理 查一下,我不知道如何编程。
解决方案 »
- 如何创建一个数据缓存区来优化cpu使用?
- 关于动态加载用户控件的问题,请高手帮忙解决?
- 【winform】NPOI多表页错误,帮忙看一下啦
- 当输入某查询条件后,为什么查询完后只显示一行记录,不输时,可以查到所有。
- socket网络编程如何应用于局域网?
- 把 WCF 部署到服务器上,连接不上。抛出 CommunicationException 异常。"基础连接已经关闭: 连接被意外关闭"
- dataset.readxml??
- 关于多线程的问题
- 如何将TextBox中输入的值转换为int型?
- 老问题,还是数据绑定。查了前面的帖子,可是没解决:(
- [求助]请教VS的水晶报表开发中数据集的刷新问题
- 各位大侠帮帮小弟看看这代码为什么不能发送邮件!感激不尽!
http://topic.csdn.net/u/20100512/15/98500bc9-3b4d-4ff5-a7d4-bafbb09e455a.html
这是我存好的1.5个单词四种形态的数据库
http://download.csdn.net/source/2351439
我晕,呵呵。刚试了一下,只要在URL后直接输入单词就OK了。
http://www.iciba.com/king
http://www.iciba.com/china
http://www.iciba.com/love...
我是不是要结贴了,不过我还是很想问一下,我如何在WINFORM中执行一下WEB中的那个查一下过程?
你用Winform的 WebBrower 控件不就行了?
{
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 = ""; }
也可以用WebClient组件
1)按回车捕获其回车事件;
或是 2)再添加一个Button按钮,点击Button时的单击事件中;
设置 WebBrower 的URL为:
webBrower.URL="http://www.iciba.com/china"; 即可.