资源简介
10000网页简单上手,代码和配置环境全部写好,傻瓜式操作。
执行文件顺序是
1.Spider.py进行爬取网页并分析
2.index.py生成倒排索引,idf文件
3.app.py运行搜索引擎
4.在默认浏览器输入 http://localhost:8080/ 进行检索
若要使用数据库
1.writeDB.py写倒排索引与idf(时间较长)
2.可以在summary.py切换from DB_search import s使用数据库
注意:
还需要停用词是stopwords.txt
执行文件顺序是
1.Spider.py进行爬取网页并分析
2.index.py生成倒排索引,idf文件
3.app.py运行搜索引擎
4.在默认浏览器输入 http://localhost:8080/ 进行检索
若要使用数据库
1.writeDB.py写倒排索引与idf(时间较长)
2.可以在summary.py切换from DB_search import s使用数据库
注意:
还需要停用词是stopwords.txt
![](http://www.nz998.com/pic/55913.jpg)
代码片段和文件信息
# coding:utf-8
from flask import Flask request render_template redirect url_for
import jieba
from flask_bootstrap import Bootstrap
from summary import getsummary
from flask_paginate import Pagination get_page_args
import json
import time
app = Flask(__name__ static_url_path=‘‘)
bootstrap = Bootstrap(app)
with open(‘idf.json‘ ‘r‘) as f:#预加载idf文件
idf = json.load(f)
@app.route(“/“ methods=[‘POST‘ ‘GET‘])#设置检索首页的路由
def main():
if request.method == ‘POST‘ and request.form.get(‘query‘):
query = request.form[‘query‘]
print(query)
return redirect(url_for(‘search‘ query=query))
return render_template(‘baidu.html‘)
@app.route(“/q/“ methods=[‘POST‘ ‘GET‘])#设置检索页的路由
def search(query):
start=time.time()#开始计时
page per_page offset = get_page_args(page_parameter=‘page‘
per_page_parameter=‘per_page‘)
terms = [i for i in jieba.cut_for_search(query.replace(“ “ ““)) if len(i)>1 and i in idf]#处理检索式
terms.sort(key = lambda i:len(i)reverse=True)
#获得摘要等信息
allllength= getsummary(termspage)#page=0返回0-9,page=1返回10-19
result = highlight(alll terms)
#实现分页
pagination = Pagination(page=page per_page=10 total=length-1
css_framework=‘bootstrap4‘)
a=time.time()-start#结束计时
#将参数返回给网页
return render_template(‘search.html‘ docs=result value=query length=lengthpagination=paginationt=str(‘%.3f‘%a))
#对关键词进行高亮
def highlight(alll terms):
result = []
titles=[]
contents=[]
for doc in alll[0]:#标题高亮
for term in terms:
doc=doc.replace(term ‘{}‘.format(term))
titles.append(doc)
i=0
for doc in alll[1]:#正文高亮
print(i)
i+=1
if doc != None:
for term in terms:
doc=doc.replace(term ‘{}‘.format(term))
else:
doc=“无法查询“
contents.append(doc+“...“)
for i in range(len(titles)):
result.append([alll[2][i]contents[i]titles[i]])
return result
if __name__ == “__main__“:
jieba.add_word(‘重庆理工大学‘)#jieba词典扩充
jieba.add_word(‘马克思‘)
app.run(host=‘localhost‘ port=8080 debug=True)#http://localhost:8080/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2565 2020-01-07 10:50 小型搜索引擎程序\app.py
文件 3914 2020-01-07 10:51 小型搜索引擎程序\DB_search.py
文件 2756 2020-01-07 10:53 小型搜索引擎程序\index.py
文件 3634 2020-01-07 10:53 小型搜索引擎程序\search.py
文件 5177 2020-01-07 10:54 小型搜索引擎程序\Spider.py
文件 661 2020-01-02 17:04 小型搜索引擎程序\static\baidu.html
文件 628 2020-01-02 17:04 小型搜索引擎程序\static\css\baidu.css
文件 5876 2019-12-24 10:35 小型搜索引擎程序\static\images\1.png
文件 4230 2020-01-02 16:53 小型搜索引擎程序\static\images\2.jpg
文件 85600 2020-01-02 16:45 小型搜索引擎程序\static\images\2.png
文件 7877 2019-12-04 19:40 小型搜索引擎程序\static\images\baidu.jpg
文件 2280 2019-12-24 10:36 小型搜索引擎程序\static\images\icon_book.png
文件 3127 2020-01-02 09:40 小型搜索引擎程序\static\search.html
文件 0 2018-12-22 15:22 小型搜索引擎程序\static\__init__.py
文件 4753 2020-01-07 10:55 小型搜索引擎程序\summary.py
文件 714 2020-01-02 17:46 小型搜索引擎程序\templates\baidu.html
文件 3279 2020-01-02 17:45 小型搜索引擎程序\templates\search.html
文件 1145 2020-01-07 10:55 小型搜索引擎程序\top_k.py
文件 3200 2020-01-07 10:56 小型搜索引擎程序\writeDB.py
文件 2668 2020-01-06 17:16 小型搜索引擎程序\__pycache__\DB_search.cpython-37.pyc
文件 2401 2020-01-06 17:22 小型搜索引擎程序\__pycache__\search.cpython-37.pyc
文件 4573 2020-01-06 17:22 小型搜索引擎程序\__pycache__\summary.cpython-37.pyc
文件 880 2020-01-02 19:57 小型搜索引擎程序\__pycache__\top_k.cpython-37.pyc
文件 2389 2020-01-06 17:16 小型搜索引擎程序\__pycache__\writeDB.cpython-37.pyc
文件 581 2020-01-07 10:44 小型搜索引擎程序\环境配置文档.txt
目录 0 2020-01-07 10:29 小型搜索引擎程序\static\css
目录 0 2020-01-07 10:29 小型搜索引擎程序\static\images
目录 0 2020-01-07 10:29 小型搜索引擎程序\static
目录 0 2020-01-07 10:29 小型搜索引擎程序\templates
目录 0 2020-01-07 10:29 小型搜索引擎程序\__pycache__
............此处省略4个文件信息
相关资源
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 一个多线程智能爬虫,爬取网站小说
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- 顶点小说单本书爬虫.py
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
评论
共有 条评论