为古腾堡项目创建和互操作本地缓存的库

Gutenberg的Python项目详细描述


*********
gutenbergpy
*****




图片::https://github.com/raduangelescu/gutenbergpy/blob/master/dblogos.png
:alt:mongodb
:align:center
:width:100%

这个包过滤并从“project
gutenberg<;http://www.gutenberg.org>”获取信息;` python更容易做到。

it的目标用户是机器学习人员,他们的项目需要数据,
,但任何人都可以自由使用。

软件包:

-生成一个本地缓存(所有gutenberg信息的缓存),您可以互操作以获取图书ID。本地缓存可以是sqlite(默认)或mongodb(对于需要安装pymongodb包的wich而言)


-下载并清理来自gutenberg books的原始文本



Windows和Linux上的python 2.7测试了包
速度更快,比https://github.com/c-w/Gutenberg

源代码::sh


或者从源代码安装(都是python代码)

……源代码::sh

git clone https://github.com/raduangelescu/gutenbergpy
python setup.py install


Usage
==


sourcecode::python

import gutenbergpy.text get
缓存
----
要执行此操作,首先需要创建缓存(这是每个操作系统的一次性操作,直到您决定重做它)

sourcecode::python

from gutenbergpy.gutenbergcache import gutenbergcache
*删除旧缓存
-*download*属性从gutenberg项目下载rdf文件
-*unpack*unpack*unpack它
-*parse*在内存中解析它
-*cache*写入缓存

sourcecode::python

gutenbergcache.create(refresh=true,download=true,unpack=true,parse=true,cache=true,deletemp=true)


为了更好地控制,您可以设置gutenbergcachesettings
-*cachefilename*
-*cacheunpackdir*
-*cachearchivename*
-*progressbarmaxlength*
-*cacherdfdownloadlink*
-*textfilescahefolder*
-*mongodbcacheserver*
。sourcecode::python

gutenbergcachesettings.set(cachefilename=”,cacheunpackdir=”,
cachearchivename=”,progressbarmaxlength=”,cacherdfdownloadlink=”,textfilecachefolder=”,mongodbcacheserver=”)

它将在大约5分钟内结束,这取决于您的互联网速度和计算机电源
(在具有千兆连接和固态硬盘的i7上,它将在大约1分钟内完成)


sourcecode::python
-语言
-作者
-类型
-标题
-主题
-出版商
-书架
-下载类型

…源代码::python

打印缓存。查询(downloadtype=['application/plain','text/plain','text/html;charset=utf-8'])

sourcecode::python
python
cache.native_query(“SELECT*FROM books”)
mongodb
cache.native_query({type:'Text'}


对于SQLITE自定义查询,请查看SQLITE数据库方案:

图片::https://github.com/raduangelescu/gutenbergpy/blob/master/sqlitecheme.png
:alt:SQLITE数据库方案
:宽度:100%
:align:center

具有以下字段的每本书:

-book(出版商、权利、语言、书架、古登堡图书标识、发行日期、下载次数、标题、主题、作者、文件、类型)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用prepared语句在oracle中插入日期   对点具有双重值的java   使用多个通配符的java请求映射   java Springboot为什么要设置springbootstartertomcat   除了对JavaBean的请求之外,还使用servletContext的servlet   java如何清除OCSID。返回到池的连接时的CLIENTID JDBC客户端信息属性   将整型数组转换为光栅Java   java使用对象引用作为互斥锁   java为什么在编程语言中使用sin函数返回奇怪的sin值不像计算器   java如何将JButton链接到对象并调用相关方法   php用Java发送POST数据   导航属性的java模拟加载   java多个活动错误Android试图对空对象引用调用虚拟方法“”   java Android更改ActionBar文本颜色   如何使用带有java反射且不带开关的parant引用创建子类