python实现搜索功能_python实现简易搜索引擎(含代码)

这篇博客介绍了如何使用Python搭建一个简单的搜索引擎。首先通过爬虫获取网页URL,然后对文本进行处理和去HTML标签,接着利用jieba进行分词,构建MySQL数据库进行索引。最后展示了查询步骤,包括计算TF-IDF和排名展示搜索结果。
摘要由CSDN通过智能技术生成

今天我们使用python来搭建简易的搜索引擎。

搜索引擎的本质其实就是对数据的预处理,分词构建索引和查询。

(这边我们默认所有的数据都是utf-8的数据类型)

我们在一个网站上去获取所有的URL:def crawl(pages,depth=2):

for i in range(depth):

newpages = set()

for page in pages:

try:

c = urllib.request.urlopen(page)

except:

print('Invaild page:',page)

continue

soup = bs4.BeautifulSoup(c.read())

links = soup('a')

for link in links:

if('href' in dict(link.attrs)):

url = urllib.urljoin(page,link['href'])

if url.find("'")!=-1:continue

url = url.split('#')[0]

if url[0:3]=='http':

newpages.add(url)

pages = newpages

通过一个循环抓取当前页面上所有的链接,我们尽可能多的去抓取链接,之所以选择set而不使用list是防止重复的现象,我们可以将爬取的的网站存放到文件或者MySQL或者是MongoDB里。output = sys.stdout

outputfile = open('lujing.txt', 'w')

sys.stdout = outputfile

list = GetFileList(lujing, [])

将生成的路径文件lujing.txt读取,并按照路径文件对文本处理# 将生成的路径文件lujing.txt读取,并按照路径文件对文本处理,去标签

for line in open("lujing.txt"):

print(line)

# line=line[0:-2]

line1 = line[0:12]

line2 = line[13:16]

line3 = line[17:-1]</

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值