今天我们使用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

这篇博客介绍了如何使用Python搭建一个简单的搜索引擎。首先通过爬虫获取网页URL,然后对文本进行处理和去HTML标签,接着利用jieba进行分词,构建MySQL数据库进行索引。最后展示了查询步骤,包括计算TF-IDF和排名展示搜索结果。
&spm=1001.2101.3001.5002&articleId=110175329&d=1&t=3&u=c8e46754c7844de4bb20daa02f6c2d2a)
6440

被折叠的 条评论
为什么被折叠?



