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