爬取CSDN博客,利用Whoosh实现倒排索引与排序,django作为后端实现小型CSDN搜索引擎。并实现高亮、相关搜索等功能。
详细效果请见展示.pdf
python3.6 + django2.1 + 若干python库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'csdnBlogs',
'USER': 'root',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
driver = webdriver.Chrome(executable_path='/home/chromedriver')
# 要加chromedriver绝对路径 or 把chromedriver加到系统PATH里
下载chromedriver,并添加绝对路径。
username = driver.find_element_by_id('username')
password = driver.find_element_by_id('password')
username.send_keys("username") # 输入csdn登陆账户密码
password.send_keys("password")
# 数据库配置
host = ''
user = ''
password = ''
dbname = '' # 数据库名字
csdn_crawler.py : 爬虫模块,包含模拟登陆。保存数据库
searcher.py : 利用whoosh建立倒排索引和排序。搭建搜索引擎
DBsettings.py : 数据库配置文件
views.py: 后端处理
word2vec.py : 读取文本,训练模型来实现相关搜索。目前效果还不太理想。模型要保存在/data/word2Vec/model
(1) 实现过程:先爬虫爬取数据,再建立索引排序,最后前后端。
(2) 新手项目,如有问题,多多指教!