delphi中如何编程提交网页内容查询到搜索引擎?(200分)

  • 主题发起人 主题发起人 wuyi
  • 开始时间 开始时间
W

wuyi

Unregistered / Unconfirmed
GUEST, unregistred user!
1.如何在DELPHI中把用户的查询要求提交到指定的搜索引擎中, 并把搜索

结果取回?

2.如何按词组切分一个中文句子?


以上两个问题, 请各位多多指教. (提供思路/算法/控件均可)
 
找一个现有的搜索站点如www.yahoo.com, 察看一下它的源文件的submit和action,
把这一套做到你的程序中去即可
 
以下是yahoo中的一段代码,估计与提交检索有关, 可能前一个是输入框, 后一个

是提交的动作. 我不能理解这段代码是如何工作的, 在程序中又如何达到相同的

提交检索功能, 及取回结果. 望huizhang大侠再指教得详细一点.

<input size=30 name=p><input type=submit value=Search>
 
submit 将执行前面已经由 form action="xxxxxxxxxxx" 所给出的 URL, 该 URL
指向一个CGI, ISAPI, Perl, ASP执行程序, 执行程序能够将 P 作为字符串变量名
使用. 你要做的是要把 "<form action= " 加上, 后面要有 "</form>". 请用查看
源文件看下列实例:

<dl>
<dd><form action="http://www3.seeder.net.tw/nav/find.cfm" method="POST">
<p><b><a href="http://www.seeder.net.tw">阿波罗咨询网</a>
提供一般网际网路查询</b><br>
<input type="text" size="30" maxlength="60" name="KeyWord"><input type="submit"
value="开始查询"></p>
</form>
</dd>
<dd><form action="http://taiwan.iis.sinica.edu.tw/b5/search" method="put">
<p><b><a href="http://taiwan.iis.sinica.edu.tw/b5/yam/">蕃薯藤台湾网路索引</a>台湾最大的网际网路查询站台</b><br>
<input type="text" size="30" maxlength="32" name="k"><input type="submit"
value="开始查询"></p>
</form>
<form action="http://www.whatsite.com.tw/cgi/search.cgi">
<input type="hidden" name="start" value="0"><input type="hidden" name="REXP" value="OR"><p><b><a
href="http://www.whatsite.com.tw/">Whatsite 哇塞中文网</a>
新兴的网路查询,包含中/英/简/台港等网页</b><br>
<input type="text" size="30" maxlength="60" name="keyword"><input type="submit"
value="开始查询"></p>
</form>
<form action="http://dbcl10.cs.ust.hk:8000/cgi-bin/bsearch" method="get">
<input type="hidden" name="code" value="1"><input type="hidden" name="max" value="30"><p><b><a
href="http://www.ust.hk/">香港科技大学 </a>提供中/英/简/台港等网页的查询</b><br>
<input type="text" size="30" maxlength="80" name="terms"><input type="submit"
value="开始查询"><br>
</p>
</form>
</dd>
</dl>

<form action="http://search.yahoo.com/bin/search" method="GET">
<input type="text" size="30" name="p">
<input type="submit" value="Yahoo! Search">
</form>
 
原理有点懂了, 但如何用DELPHI编程序还不知道. 能否给点 DELPHI 代码?
 
原理有点懂了, 但如何用DELPHI编程序还不知道. 能否给点 DELPHI 代码?

(我希望能做到把一个用户的检索要求自动提交到多个搜索引擎上)
 
1.在你的form 中放一个nmhttp button edit
你要分析该页面中的 变量名,url,method
如果method=get要用get方法 if method = post 要用post

GET
在URL后+'?'+变量传递多个变量用&连接
NMHttp1.Get(URL+'?'+'变量名1'+'='+'要传递的值1'+'&'+'变量名2'+'='+'要传递的值2');
ShowMessage(NMHTTP1.Body);
POST
NMHTTP1.Post(URL<font color=red> , </font> '变量名1'+'='+'要传递的值1'+'&'+'变量名2'+'='+'要传递的值2');


2.要有对应的词组库如两个字的词组,三个,四个,单字词组
例:中华人民共和国万岁
中华,人民,共和国,万岁
分析是先取四个字到四个字的库中擦找,如果没有在到三个,两个...中找
 
有没有比较全面的词组库呢, 我从WIN98的输入法中生成的词组觉得不够多.
金山词霸号称词典大全, 不知有无办法给倒出来.
 
你别想在金山等等中找了,我几乎找遍了所有的有词库的软件

结果 :(
 
无义:

>我希望能做到把一个用户的检索要求自动提交到多个搜索引擎上

想法很好, 做起来很难. 因为提交是由客户段浏览器来实现的, 不是由CGI服务程序
所能完成的. 此外, 浏览器只能显示提交后所返回的一个页面, 不可能将几个搜索引
擎返回的多个页面组合到一起, 结果得到的可能是最慢的一个搜索引擎返回的页面. 因为前面返回的查询结果被后面的覆盖了.

要想提交到多个引擎, 你必须在你的动态页面上加上一段VBScript/JAVAScript函数
sub OnLoad(), 打开若干个Explorer, 每个都要有自己的OnLoad函数自动向相应的
引擎提交相同的Query. 具体怎样用VB/JAVA函数Submit, 我也不知道, 但是应该能
实现.

Good Luck!
 
谈到词组, 我觉得 IBM ViaVoice 的最全.
 
IBM ViaVoice中的词组能倒出来吗?
 
huizhang:
你可能误解了我的本意, 我不是想在主页上做什么.

 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
562
import
I
后退
顶部