最近做《互联网信息搜索与挖掘》的课程作业,作业要求是做一个网易云音乐搜索引擎。

基本要求是:

1,【自由搜索】输入歌曲名称可以返回一系列排序后的歌曲,搜索歌手会根据热门度或其他条件返回一系列歌曲,或者,搜索关键字获取歌曲名或歌词中含有关键字的歌曲列表;

2,【搜索历史权重排名】当用户点击播放时,记录用户点击事件,并调整排名。(例如,下次用户搜索这条信息时把他点击的这首歌往前放)

下面我会跳过爬虫部分,讲述搜索引擎和界面的实现过程。

由于班长负责爬虫爬网易云音乐数据,我负责搜索引擎和界面,所以我的博客只讲我这一部分,就是爬到网易云音乐数据之后的这部分、搜索引擎和界面怎么做。

主要思路是这样的,班长python爬虫存下来网易云音乐的数据,music.db,我根据这个数据再用python+whoosh做搜索引擎,python+ajax写网页页面作为交互式界面。

我们的数据信息是这样的:

一共有四张表格,字段信息分别见表格中所示的,黄色部分是我想要的。

由于我们课程要求数据库内只要有1w首歌曲以上就可以了,我删除了很多没有爬到歌词的数据,最后数据库从十几万条变成2w条。

主要环境说明:

python  2.72

whoosh 2.74

下面是我们完成后的样子

爬数据这部分是班长做的,爬虫代码在他的github上,点这里。他给我的是数据库,后面的搜索和界面由我来,下面介绍一下我这一部分

喜欢本文请打赏,一毛两毛也是个意思,么么哒
支F宝账号:2363891614@qq.com

网易云音乐搜索引擎 python+whoosh---(1)背景和环境介绍相关推荐

  1. 网易云音乐搜索引擎 python+whoosh---(3)界面

    网页和后台的通信采用ajax,参考文献:python处理ajax请求 csdn的编辑器似乎有问题,贴上网页代码博客显示会出错.所以这里不再贴代码,直接给出代码下载网址和代码说明. 所有代码及运行说明已 ...

  2. 网易云音乐搜索引擎 python+whoosh---(2)搜索引擎

    参考资料:whoosh+jieba:python下实现中文全文检索  whoosh官方文档 1,根据数据库新建schema 只保留音乐库数据中我需要的部分,即下面图片中的黄色部分,把所有表格变成统一格 ...

  3. python音乐库_python - 网易云音乐的 Python 组件库

    # -*- coding: UTF-8 -*- # pip install --user ncmbot # 文档:http://xiyoumc.0x2048.com/ncmbot/#/?id=ncmb ...

  4. 用python爬取网易云评论_Python3爬取网易云音乐评论|python爬虫|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 本文转载至知乎ID:Charles(白露未晞)知乎个人专栏 下载W3Cschool手机App,0基础随时随 ...

  5. 网易云音乐登录python

    网易云网页版登录例子 script.js这个算法有点长 就不发了有需要私聊我发你 # -*- coding: utf-8 -*- import re import requests import ex ...

  6. python刷网易云_利用Python获取网易云音乐数据,python

    #!/usr/bin/env python # -*- coding: utf-8 -*- import json import re import urllib.request import pan ...

  7. 网易云音乐python爬虫(Js破解)

    网易云音乐下载python爬虫(Js破解) 最近做了一个网易云音乐下载的python爬虫,功能就是输入歌曲的名字,程序自动下载网易音乐搜索界面的第一首歌(一般都是原唱排第一位).本文很适合小白学习,写 ...

  8. Python爬虫实践-网易云音乐

    1.前言 最近,网易的音乐很多听不到了,刚好也看到很多教程,跟进学习了一下,也集大全了吧,本来想优化一下的,但是发现问题还是有点复杂,最后另辟捷径,提供了简单的方法啊! 本文主要参考 python编写 ...

  9. 网易云音乐基于 Flink + Kafka 的实时数仓建设实践

    简介:本文由网易云音乐实时计算平台研发工程师岳猛分享,主要从以下四个部分将为大家介绍 Flink + Kafka 在网易云音乐的应用实战: 背景.Flink + Kafka 平台化设计.Kafka 在 ...

最新文章

  1. 数字字符串转化为时间字符串
  2. 最新Transformer模型大盘点,NLP学习必备,Google AI研究员出品丨资源
  3. mysql安装尝试创建新用户失败_Linux MySQL yum安装 创建新用户
  4. wxWidgets:wxLogChain类用法
  5. hadoop2 Ubuntu 下安装部署
  6. 广义典型相关分析_重复测量数据分析及结果详解(之二)——广义估计方程
  7. Docker容器化部署python
  8. linux上oracle导入mysql_linux下的oracle数据库和表空间的导入导出
  9. gradle 刷新打包的时候报错
  10. 拓端tecdat|R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
  11. react打包后图片丢失_给 React 组件自动加上 react-hot-loader
  12. LabelImg 图片标注工具 for Mac
  13. UI设计作品中经常会用到的设计技巧?|优漫动游
  14. 正则表达式匹配中英文姓名
  15. hdlc和ppp的pap认证和cahp认证,gre和mgre的使用和详解,nat地址的转换
  16. html中常见表达颜色的三种方式
  17. 菜鸟慢慢爬行-----web(5)
  18. React 官网入门教程 - 井字棋小游戏
  19. solidworks模板_SOLIDWORKS Costing可以定制模板和标准模板一起使用
  20. 搭建一个代码在线编辑预览工具

热门文章

  1. Java:菜单(Menu)
  2. Python识别中文
  3. layuiAdmin以及layui table根据http状态码判断授权
  4. 51单片机——定时器中断实现跑马灯仿真
  5. 广州地铁离线查询app源码
  6. 应用计算机测定线性电阻,实验31-应用计算机测电阻伏安特性
  7. 弘辽科技:拼多多店铺战胜同行的秘密武器
  8. 图像特征提取中的一些不变形,平移不变性,旋转不变性 光照不变性
  9. 【excel】几个公式任意增减提取单元格内容
  10. camunda工作流