全自动文章采集网源码2020( 百度文库使用Beego(Golang)开发的开源文库系统。)

优采云 发布时间: 2022-01-24 03:02

  全自动文章采集网源码2020(

百度文库使用Beego(Golang)开发的开源文库系统。)

  

  一、开源项目简介

  参考百度文库,使用Beego(Golang)开发的开源文库系统。

  二、功能概览文档在线阅读

  DocHub库使用svg矢量图来实现文档阅读体验。在我所知道的图书馆网站中,新浪艾问通过png等图片提供文档阅读体验。

  与 png、jpeg 等图片格式相比,SVG 有很大的优势,至少放大后不会失真,而且相比 JPEG 和 GIF 图片,svg 体积更小,压缩性更强。DocHub通过gzip压缩svg文件,一般情况下文件大小可以减少70%,比如200kb svg,gzip压缩后大小只有60kb左右。

  使用 svg 大大提高了加载速度,优化了内容的阅读体验。

  可在线阅读的办公文档

  这需要两层转换:

  office --> pdf --> svg

  

  之前考虑过office文档不转换,然后直接上网浏览,但是解决方案比较复杂,部署也不容易,至少我没有部署成功……

  在线阅读PDF文档

  通过pdf2svg转换PDF文档进行在线阅读

  我没有使用mozila的pdf.js作为PDF文档阅读的实现方案,主要是我没有解决pdf.js分片分页加载的问题,每次都需要下载整个PDF文档提供阅读. 如果文档很大,用户需要等待很长时间,也会消耗服务器带宽资源。

  mobi、epub、chm文档在线阅读

  使用 calibre 将文档转换为 PDF,然后将 pdf 转换为 svg。

  目前该功能尚未实现,暂时无法在线阅读epub、mobi等文档。

  全部研究

  全文搜索功能之前是用coreseek开发实现的,现在coreseek官网已经停掉了……打算用elasticsearch重新实现这个功能。

  文档采集功能【TODO】

  在建站初期,网站内容的填充是一个很大的难点。

  不过在GitBook、ReadTheDoc等网站上,有大量的开源技术文档,提供mobi、pdf、epub离线文档下载。

  据初步统计,GitBook 中有超过 100,000 个文档,估计可用文档数为 50,000。每个文档提供 3 种格式的下载。仅从 gitbook采集 文档中,就有 150,000 个文档被编入库。大量的文档。

  然后,可以使用搜索引擎搜索filetype:文档格式+搜索关键字,如filetype:pdf入门教程,你会发现惊喜!如果您不相信我,请尝试分配以下两个链接地址以在浏览器中打开:

  https://cn.bing.com/search?q=filetype%3apdf+%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B&first=11

  https://www.sogou.com/web?query=filetype%3Apdf+%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B

  如果你爬取其他文档,一年之内,单*敏*感*词*匹马建立一个拥有数百万文档的图书馆网站应该不成问题。

  但是,现在已经建立了综合图书馆网站,例如百度图书馆等。如果你打算做一个综合性的图书馆网站,那还是不现实的,因为空间太小了。

  但是,你可以做一个专注于某个方向的图书馆网站,例如课后练习和答案的图书馆网站,IT行业图书馆网站,教育图书馆网站等。如果你专注于一个行业方向,那么仍有很大的增长空间。和图片网站一样,现在很多搜索引擎都可以搜索图片,但是Pinterest、Petalnet等还没有做到吗?

  为您提供程序,也为您提供思路。

  积分函数

  用户登录、上传、分享文件,获得奖励积分;用户需要消耗积分才能下载文件

  阅读文档水印功能

  在提供阅读的 svg 文件上添加水印

  三、技术选型后端

  Go语言框架Beego

  前端

  基于 Bootstrap 的前端框架 Flat-UI

  数据库

  MySQL,数据存储

  依赖环境 Libreoffice(或 Openoffice)

  用于将办公文档转换为 PDF

  使用命令:

  soffice --headless --invisible --convert-to pdf path/to/officefile --outdir path/to/outdir

  pdf2svg

  请注意,这使用了最新版本的 pdf2svg

  pdf2svg,用于将 PDF 转换为 svg 矢量图像以供阅读。

  使用命令:

  pdf2svg []

  口径

  用于将mobi、chm、epub等文档转为PDF,再将pdf转为svg

  注:mobi、epub等文档在线阅读功能暂未实现

  阿里云OSS

  存储办公文档、PDF 文档和 svg 文件

  注:目前只支持阿里云的OSS云存储,暂时不支持其他云存储(其他云存储我会花时间开发扩展),不支持本地化存储(现在云存储和CDN价格比以前便宜很多)

  四、界面显示页面列表

  没有不看脸的时代……

  

  

  

  

  

  

  五、开源协议

  使用 Apache2.0 开源协议

  六、源地址

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线