资源简介
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
代码片段和文件信息
# 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实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论