您所在位置: 网站首页 / python搜索殷勤.doc / 文档详情
python搜索殷勤.doc 立即下载
2024-08-13
约3.4千字
约4页
0
55KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

python搜索殷勤.doc

python搜索殷勤.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Python:开发简易搜索引擎
(2012-06-2911:45:06)
HYPERLINK"javascript:;"转载▼
标签:
HYPERLINK"http://search.sina.com.cn/?c=blog&q=python&by=tag"\t"_blank"python
HYPERLINK"http://search.sina.com.cn/?c=blog&q=%BF%AA%B7%A2%CB%D1%CB%F7%D2%FD%C7%E6&by=tag"\t"_blank"开发搜索引擎
HYPERLINK"http://search.sina.com.cn/?c=blog&q=%D4%D3%CC%B8&by=tag"\t"_blank"杂谈分类:HYPERLINK"http://blog.sina.com.cn/s/articlelist_2435659643_3_1.html"\t"_blank"pythonHYPERLINK"http://kenneth.ycool.com/post.2800062.html"Python:开发简易搜索引擎
对于内容性的站点来说,搜索引擎真是一个不错的东东。不需要再为了找自己要看的东西翻遍整个网站,而只是输入关键字,让脚本来帮你找。这里,我写了个简单的站内搜索引擎,并且要讲解一下它是如何实现的。这个搜索引擎非常简单,但是很容易扩展。比如,如果你用urllib包来抓取网页,而不是仅仅索引本地的文件,你就可以用它来搜索internet上的其他站点了。
你所要做的是…
建立一个数据库用来储存所有的单词和这些单词的出现位置(在示例中我使用的是MySQL)
一个查找单词和单词出现位置的脚本,并将其存入数据库中
一个HTML的搜索表单
一个用来从数据库中搜索用户提交的关键字的脚本
一个返回搜索结果的页面,搜索结果要链向搜索到的相关页面
创建数据库
在你的MySQL数据库中创建一个表(table),命名为search。我们需要以下5列:
search_id,INTEGER,NOTNULL,AUTO_INCREMENT,UNSIGNED
word,VARCHAR(50),NOTNULL
occurrence,INTEGER,NOTNULL,UNSIGNED
url,VARCHAR(200),NOTNULL
link,VARCHAR(200),NOTNULL
然后,把search_id设定为主键(PRIMARYKEY)。
如果你觉得创建一个MySQL数据库有困难的话,不要怕,在互联网上相关的资源非常多。或者你可以看看HYPERLINK"http://www.serpia.org/mysql"这个。确定已经把数据表放到你的服务器上,另外还要注意一下安全问题。稍后再继续这个话题…
Python索引器
Python索引器会遍历整个页面的正文,并记录每个单词及出现的位置。代码如下:
importstring
importsys
importre
importMySQLdb
#opendatabaseandmakecursor
conn=MySQLdb.connect(host="localhost",user="root",passwd="***",db="***")
cursor=conn.cursor()
#firstemptythedatabase
cursor.execute('''TRUNCATETABLEwords''')
defmakeIndex(myurl,link):
#openlocalhtmlfile
href=link
page=myurl
f=open(page,"rb")
f.close
#initializestuffhere
wordcount=0
words={}

forlineinf.readlines():
line=string.strip(line)

forwordinre.split("["+string.whitespace+string.punctuation+"]+",line):
word=string.lower(word)

ifre.match("^["+string.lowercase+"]+$",word):wordcount+=1
ifwords.has_key(word):
words[word]+=1
else:
words[word]=1
sorted_word_list=words.keys()
sorted_word_list.sort()
#nowpopulatethedatabase
forwordinsorted_word_list:
cursor.execute('''INSE
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

python搜索殷勤

文档大小:55KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用