前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何自己搞一个维基百科?

如何自己搞一个维基百科?

作者头像
程序猿DD
发布于 2023-04-04 05:42:20
发布于 2023-04-04 05:42:20
8830
举报
文章被收录于专栏:程序猿DD程序猿DD

大家平时查询资料都喜欢用什么搜索工具呢?

也许很多人都是百度吧,但是也有一部分小伙伴习惯使用维基百科~

维基百科(Wikipedia),又称人民的百科全书,是来自世界各地的人民用不同的语言共同创建的百科全书。

它基于wiki技术,强调自由、免费、内容开放,任何人都可以编辑百科全书中的任何条目。其宗旨是为全人类提供一个动态的、可自由访问和编辑的全球知识体。

你可以把它看作是一个纯文科类的百度百科的升级国际版,毕竟人们常说:北冥有鱼,其名为鲲。鲲之大,不知其几千里也,错了错了,拿错台词了,应该是这句,维基百科,海纳百川,有容奶大

哦不不不,是有容乃大~~小编最近那个编码太辛苦了(啥啥东西看多了),各位理解理解~

那么大家有没有想过自己搭建一个静态版本的维基百科呢?

当然可以了,今天给大家带来的就是GitHub上的一个开源项目,教你如何使用CSS、JS、WASM和SQLite来搭建这个静态百科~

项目的核心技术要点在于 将SQLite (written in C) 编译成 WebAssembly,这样就可以使用 sql.js 读取 sqlite 的数据库文件。

不过项目还有点小瑕疵,比如,有时候页面会在加载的时候自动卡住,这个时候只能刷新页面解决。作者似乎还没找到一个合适的在SQLite HttpVFS库中处理正在进行的请求的方法,如果有小伙伴是个中高手也可以自己一改哟~

整体程序运行,只需要5个步骤:

1、获取维基百科转储文件

首先去维基百科的dump下载网站,下载所需要的语种和时间的dump文件。然后从中提取xml文件。

2、将xml文件加载进SQLite数据库

运行npm install,将xml文件传输到转换器中cat "/path/to/enwiki.xml" | node ./scripts/xml_to_sqlite.js /path/to/output/folder/en.db

这样就会在指定的目录和路径处创建新的SQLite文件。不过往往这需要不小的硬盘空间(往往需要几百G)和长达数小时的时间消耗。

可以运行./scripts/sqlite3 /path/to/output/folder/en.db看数据准备情况。

3、构建前端

如果小伙伴想测试下SQLite db ,可以运行 npm run build 和 npm run serve,如果小伙伴用的是mac,可以将nginx.conf替换系统里的/usr/local/etc/nginx/nginx.conf

小伙伴要确保一点,调整db.js中的dev URL,使其指向自己本地主机“en.db”。而不是将db文件放到dist文件夹中,然后执行npm run dev。切记切记~

运行npm run build,系统会将"src/" 编译成 "dist/"。

4、将“dist/”和“db/”部署到静态文件主机

将文件上传,然后在静态主机上设置跨域CORS(CORS.example),最后,调整db.js中的URL。这样,应用程序就可以部署了。

5、重复完成所有dump文件的操作

如果下载了不同的dump文件,只需要重复1-4步加入db.js就可以了。

那最终的效果如下:

我们可以看到右上角可以选择语种,不同的语种只能在对应的库里搜索,就比如你在English库里搜索二傻子,是不会有结果的,同理你在Chinese库里所搜small也是没有。

各位天才小伙伴,一起来学习下这个项目吧!项目地址如下:

点击下方卡片,关注公众号“TJ君

回复“维基”,获取仓库地址

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿DD 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AI学者也用维基百科「打广告」?这个词条有点可疑
「遇事不决先谷歌」已经是现在很多人查找信息的标准起手了。如果搜索一个词条,百科网站的结果通常会被显示在最显眼的位置。这种人人皆可编辑的网站存储着海量信息,虽然可能不够严谨,但也被很多人作为重要的信息、知识来源。
机器之心
2020/03/25
4160
详解中文维基百科数据处理流程及脚本代码
最近在做词向量相关工作,词向量的训练数据采用中文维基百科数据,训练之前,要对维基百科数据进行处理,这篇文章记录了一些处理过程及相关的脚本。
zenRRan
2018/07/25
2.4K0
详解中文维基百科数据处理流程及脚本代码
维基百科中的数据科学:手把手教你用Python读懂全球最大百科全书
几年前谁能想到,匿名贡献者们的义务工作竟创造出前所未有的巨大在线知识库?维基百科不仅是你写大学论文时最好的信息渠道,也是一个极其丰富的数据源。
大数据文摘
2018/11/07
1.7K0
艺术?当维基百科打印成书!
摘自:煎蛋(http://jandan.net/) 文章已经开通了评论功能,欢迎大家互动点评 这也算得上是数学实验中的一种艺术吧——将维基百科这种几乎涵盖了一切你想得到的知识的在线百科全书统统打印出
大数据文摘
2018/05/21
8430
维基百科你已经是个大百科了,该自己学会用ML识别原文出处了
作者:Miriam Redi、Jonathan Morgan、Dario Taraborelli、Besnik Fetahu
机器之心
2019/05/07
6020
维基百科你已经是个大百科了,该自己学会用ML识别原文出处了
关于维基百科你不知道的十件事:
关于维基百科你不知道的十件事是专门让那些缺乏维基百科经验的人,如记者、新编辑者或新读者,能够对维基百科有一些较深入的认知。这些内容并不会带给那些已经很有经验的维基百科编辑者什么耳目一新的地方,但是我们希望它可以帮助世界上其他人对我们的工作能有更清楚的了解。
Enjoy233
2019/03/05
1.4K0
维基百科 MediaWiki API 解析
使用开放的 API 做一个自己的小项目,是一个很好的学习方法。但好像开放的 API 选择并不多。这里给大家多一个选择,简单介绍一下维基百科使用的 MediaWiki API。
NanBox
2019/07/09
4.2K0
学界 | 谷歌大脑提出通过多文档摘要方法生成维基百科,可处理较长序列
选自arXiv 作者:Peter J. Liu、Mohammad Saleh 等 机器之心编译 参与:白悦、路雪 近日,谷歌大脑发布论文,提出一种通过提取多文档摘要来生成英文维基百科文章的方法,该方法可以处理长序列。 序列到序列框架已被证明在自然语言序列转导任务(如机器翻译)中取得了成功。最近,神经技术被应用于提取新闻文章中的单文档、抽象(释义)文本摘要(Rush et al. (2015), Nallapati et al. (2016))。之前的研究以端到端的方式训练监督模型的输入——从一篇文章的第一
机器之心
2018/05/10
1.5K0
python爬虫获取维基百科词条
python爬虫获取维基百科词条一、整体思路二、代码部分1.main()函数2.extract()函数
用户7886150
2020/12/31
2.8K0
维基百科背后,有场旷日持久的机器人编辑之战,开发者都不曾料到
王新民 | 编译自Gizmodo 维基百科上的人类编辑,经常由于修改意见的不同而产生冲突。一份英国的新研究表明,维基百科上的软件机器人之间,也有类似的在线冲突。 PLOS ONE上发表的一项新研究提到,维基百科的机器人经常修改和撤消对方的编辑。这些在线算法有着独特的指令和目标,多年来在内容修改上进行着毫无结果的 “战斗”。这项研究表明,即使在“愚蠢”的机器人之间,也能够产生复杂的交互行为,开发人员需要时刻关注着机器人的一举一动。这一发现不仅影响着维基百科页面的质量,也对人工智能的发展有深远影响,特别是在
量子位
2018/03/21
8790
维基百科背后,有场旷日持久的机器人编辑之战,开发者都不曾料到
「Python爬虫系列讲解」九、用 Selenium 爬取在线百科知识
前文回顾: 「Python爬虫系列讲解」一、网络数据爬取概述 「Python爬虫系列讲解」二、Python知识初学 「Python爬虫系列讲解」三、正则表达式爬虫之牛刀小试 「Python爬虫系列讲解」四、BeautifulSoup 技术 「Python爬虫系列讲解」五、用 BeautifulSoup 爬取电影信息 「Python爬虫系列讲解」六、Python 数据库知识 「Python爬虫系列讲解」七、基于数据库存储的 BeautifulSoup 招聘爬取 「Python爬虫系列讲解」八、Selenium 技术
荣仔_最靓的仔
2021/02/02
2.8K0
「Python爬虫系列讲解」九、用 Selenium 爬取在线百科知识
使用中文维基百科语料库训练一个word2vec模型并使用说明
中文维基百科下载地址:https://dumps.wikimedia.org/zhwiki/
Python疯子
2019/05/07
2.1K0
使用中文维基百科语料库训练一个word2vec模型并使用说明
Wolfram 分析 | 根据维基百科数据,《鱿鱼游戏》在全球电视界占据主导地位
韩国新剧《鱿鱼游戏》风靡全球,成为全球爆款。其发行商 Netflix 宣布,“鱿鱼游戏正式拥有 1.11 亿粉丝——这是我们有史以来最大的系列发行!” 它在包括美国在内的 90 个不同国家/地区的排行榜上名列前茅,并被称为“口碑全球轰动”,在新闻和社交媒体中随处可见。
WolframChina
2021/11/04
7500
爬虫实践 | 维基百科深度优先与广度优先的开展
本爬虫目标为爬取维基百科上词条的链接,注意一点,在运行爬虫时注意不要过快,过频密的请求爬取维基百科网页,以免对服务器产生大量负荷。
野原测试开发
2019/07/10
1.9K0
爬虫实践 | 维基百科深度优先与广度优先的开展
IEEE 754标准--维基百科
IEEE二进制浮点数算术标准(IEEE 754) 是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal number),一些特殊数值((无穷(Inf)与非数值(NaN)),以及这些数值的“浮点数运算符”;它也指明了四种数值舍入规则和五种例外状况(包括例外发生的时机与处理方式)。
风骨散人Chiam
2021/09/06
1.7K0
资源 | Facebook开源DrQA的PyTorch实现:基于维基百科的问答系统
选自GitHub 机器之心编译 参与:Panda 今年 4 月,斯坦福大学和 Facebook 人工智能研究所在 arXiv 发布了一个基于维基百科的开放域问题问答系统 DrQA。近日,Facebook 在 GitHub 上开源了这个系统的代码,FAIR 主管 Yann LeCun 在社交网络也为这次开源做了宣传。据悉,该研究也将出现在 7 月 30 日举行的 ACL 2017 大会上。 论文地址:https://arxiv.org/abs/1704.00051 开源地址:https://github.co
机器之心
2018/05/09
1.7K0
资源 | Facebook开源DrQA的PyTorch实现:基于维基百科的问答系统
只需5步,维基百科塞进一个U盘 | 免费附教程
Kiwix是由志愿者们开源的一个项目,允许人们离线下载和浏览网站,最重要的是,它免费!
量子位
2022/12/08
9630
只需5步,维基百科塞进一个U盘 | 免费附教程
windows下使用word2vec训练维基百科中文语料全攻略!(一)
训练一个聊天机器人的很重要的一步是词向量训练,无论是生成式聊天机器人还是检索式聊天机器人,都需要将文字转化为词向量,时下最火的词向量训练模型是word2vec,所以,今天小编文文带你使用维基百科训练词向量。 1、训练数据下载 我们使用维基百科训练词向量,维基百科数据的下载地址为:https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2。 下载后无需解压,中文维基百科的数据比较小,整个xml的压缩文件大约才1G
石晓文
2018/04/11
8850
windows下使用word2vec训练维基百科中文语料全攻略!(一)
【玩转腾讯云】七.基于CVM快速搭建部署属于自己的维基百科
②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可
一只特立独行的兔先生
2020/04/11
4.4K1
【玩转腾讯云】七.基于CVM快速搭建部署属于自己的维基百科
常用的一些Nginx配置
Nginx的日志分为两种:access_log (访问日志)和 error_log(错误日志)。
知识分子没文化
2023/07/01
3860
推荐阅读
相关推荐
AI学者也用维基百科「打广告」?这个词条有点可疑
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档