#1 - 2017-11-10 21:44
windrises (一个纠结的面瘫伪宅)
起因是在上个帖子里,@工口卿 提到了多标签搜索的需求。我想了想,这确实是个痛点,同时还可以拿来练手学好多知识,于是我就接着做了这个东西。
这是 访问地址 @鈴宮華緋 在#7-2给了一个油猴脚本,使用更方便。
这是截图

使用方法不用多说,有几个需要说明的是:
1、bgm本身的标签搜索功能的源标签数据是没有经过筛选的,也就是说这个条目只要被即使一个人打上某个标签,那么就会在搜索结果里出现。这样的问题就是搜索结果会不准确,比如搜索'京阿尼'的结果里其实有不少动画并不是京阿尼制作的。 我的这个标签数据都是取的条目页里出现的标签,也就是被很多人都认可的标签,所以相对来说准确度就会高很多。
2、标签墙页和搜索结果页的右下角的'热门标签'里的标签括号后面的数字指的是在当前搜索条件下有多少条目被打上了这个标签,或者简单来说就是你点击这个标签后会出来多少结果。
3、以动画搜索页为例,右侧的'类别'和'时间'是除了用户打上的标签之外的搜索选项,这两个选项的信息都来自维基人的辛苦付出。但是由于编辑条目信息的时候没有严格规定信息格式,这样带来的问题有很多。比如日期的格式就会有很多种表达方式,这给我爬数据和处理数据带来了很大困扰,同时也导致了少量条目在检索时可能有问题。如果你发现了这样的问题,请反馈给我。下次更新数据库时我也会想办法尽量减少这样问题的出现。
4、对于搜索结果的排序方式我又增加了一个按评价数排序。四个排序方式在点击第二次的时候可以实现逆序。对于日期等不祥,或者由于格式等问题而没有被正确处理的条目都放在了排序的最后。
前后大概花了将近两星期的每天的空闲时间来做这件事,花了很大功夫,也学到了不少东西。
网页风格还是沿袭bangumi的,我也考虑过自己重新写下前端,但是还是觉得太难了
也感谢@发光的球 在上个帖子里提醒我试试异步刷新。js的那套东西我一直都比较怕,这次硬着头皮学了学,然后索性把所有的跳转都用ajax处理了。
主要的框架还是Django,服务器就是某云的学生主机,配置很渣。我也没有做什么速度优化,有些标签的条目非常多,在检索这些标签时,可能要多等一会(不过你可以盯着左上角看春菜娘卖萌
)。我也有考虑过做缓存,但是暂时没有成功。
网站的代码 在这。代码是写得非常丑的了,但是真的花了我不少心血。如果你觉得功能做的还不错,解决了你的大需求,那么我就厚脸皮求个star吧
数据库更新我觉得没必要太频繁,因为新的条目的标签信息不全,老的条目标签也不会有大变动,而且重新爬数据和更新数据库也比较麻烦。我初步打算每个月更新一两次。另外我在爬条目数据的时候,也会记录条目的评分信息,所以如果这个活持续的时间长的话,也算是同时做了一个bgm所有条目的评分记录,以后也可以拿来做做分析。如果有人对我爬的条目数据感兴趣,我会尝试在Github上专门找地方公开我每次爬的数据。如果有需求的话,我也可以尝试做成api。
本质上还是为了利用闲余时间学点技术,如果同时解决了有的人的需求的话就太好了。我还是个菜鸡,尤其对web开发什么都不懂,如果你发现了什么bug,或者有什么提议和技术指点,请统统提出来!
----------------------------------
18.2.18 增加缓存机制,提高检索速度
这是 访问地址 @鈴宮華緋 在#7-2给了一个油猴脚本,使用更方便。
这是截图

使用方法不用多说,有几个需要说明的是:
1、bgm本身的标签搜索功能的源标签数据是没有经过筛选的,也就是说这个条目只要被即使一个人打上某个标签,那么就会在搜索结果里出现。这样的问题就是搜索结果会不准确,比如搜索'京阿尼'的结果里其实有不少动画并不是京阿尼制作的。 我的这个标签数据都是取的条目页里出现的标签,也就是被很多人都认可的标签,所以相对来说准确度就会高很多。
2、标签墙页和搜索结果页的右下角的'热门标签'里的标签括号后面的数字指的是在当前搜索条件下有多少条目被打上了这个标签,或者简单来说就是你点击这个标签后会出来多少结果。
3、以动画搜索页为例,右侧的'类别'和'时间'是除了用户打上的标签之外的搜索选项,这两个选项的信息都来自维基人的辛苦付出。但是由于编辑条目信息的时候没有严格规定信息格式,这样带来的问题有很多。比如日期的格式就会有很多种表达方式,这给我爬数据和处理数据带来了很大困扰,同时也导致了少量条目在检索时可能有问题。如果你发现了这样的问题,请反馈给我。下次更新数据库时我也会想办法尽量减少这样问题的出现。
4、对于搜索结果的排序方式我又增加了一个按评价数排序。四个排序方式在点击第二次的时候可以实现逆序。对于日期等不祥,或者由于格式等问题而没有被正确处理的条目都放在了排序的最后。
前后大概花了将近两星期的每天的空闲时间来做这件事,花了很大功夫,也学到了不少东西。
网页风格还是沿袭bangumi的,我也考虑过自己重新写下前端,但是还是觉得太难了

也感谢@发光的球 在上个帖子里提醒我试试异步刷新。js的那套东西我一直都比较怕,这次硬着头皮学了学,然后索性把所有的跳转都用ajax处理了。
主要的框架还是Django,服务器就是某云的学生主机,配置很渣。我也没有做什么速度优化,有些标签的条目非常多,在检索这些标签时,可能要多等一会(不过你可以盯着左上角看春菜娘卖萌

网站的代码 在这。代码是写得非常丑的了,但是真的花了我不少心血。如果你觉得功能做的还不错,解决了你的大需求,那么我就厚脸皮求个star吧

数据库更新我觉得没必要太频繁,因为新的条目的标签信息不全,老的条目标签也不会有大变动,而且重新爬数据和更新数据库也比较麻烦。我初步打算每个月更新一两次。另外我在爬条目数据的时候,也会记录条目的评分信息,所以如果这个活持续的时间长的话,也算是同时做了一个bgm所有条目的评分记录,以后也可以拿来做做分析。如果有人对我爬的条目数据感兴趣,我会尝试在Github上专门找地方公开我每次爬的数据。如果有需求的话,我也可以尝试做成api。
本质上还是为了利用闲余时间学点技术,如果同时解决了有的人的需求的话就太好了。我还是个菜鸡,尤其对web开发什么都不懂,如果你发现了什么bug,或者有什么提议和技术指点,请统统提出来!

----------------------------------
18.2.18 增加缓存机制,提高检索速度
速度还可以可能是本身结果就不多吧
无论是用户名还是昵称都不行,不清楚什么情况。
我也是bgm重度用户
真的没法@,什么情况?
总之说句辛苦了,这样一来让很多bgmer困扰多年的问题又少了一个,めでたし めでたし
请点这里
我看了看,你是说的是那个fz和盗墓笔记吗。我当初在爬数据的时候,把条目最上面的那个名字当做条目的原标题,左侧信息框的'中文名'当做翻译名,展示结果的时候是把中文名大写,原名字小写的。那个fz和盗墓笔记里没有爬到中文名。
可以让没有标题的以副标题为标题
我看了下log,如果是昨晚的500错误的话,我已经修正了
总之现在很ok
最近有点事情要做,下次可能要再等一两个星期吧。
一共多少作品? 一共多少Tag?
有收集評論頁面內容嗎?
评论内容没有收集
你要不要再试一下bgm38
楼上的我的建议要不考虑一下?
到时候看能不能再做点什么出来
麻烦把脚本那里的href改成“https://windrises.net/bgmtools/multitag/” 吧
就只是在顶部栏加个按钮的小功能,没有图中报错信息中的那个函数
问题不在组件,我尝试关闭了组件,但问题仍然存在。
目前我只能通过退出脚本的使用来正常化bangumi的功能。
你删了那块代码然后收藏盒能正常加载的原因是因为删了之后这个脚本就报错了,所以另一个脚本才能正常运行
这个脚本本质作用就是帮你跳转到另一个页面,你收藏一下那个页面也行,或者你把收藏盒的脚本链接发给我我帮你改一下兼容的版本
抛弃 看过 在看 啥的的位置
然而事实是 我删了这个东西之后多标签还是能正常使用的 并没有出现BUG或者报错之类的