pkemb / pkemb.github.io

0 stars 0 forks source link

calibre python 接口 | 熊孩子程序员 #1

Open pkemb opened 3 years ago

pkemb commented 3 years ago

https://pkemb.com/2021/09/calibre-python-api/

Calibre提供了一系列的python接口,通过这些接口,可以实现对Calibre数据库的批量操作。

hayreddin2019 commented 1 year ago

你好,我也在研究用python在处理calibre的元数据,有关环境的问题想请教,方便吗?有其他的联系方式吗?谢谢!

pkemb commented 1 year ago

@hayreddin2019 你好,我也在研究用python在处理calibre的元数据,有关环境的问题想请教,方便吗?有其他的联系方式吗?谢谢!

你好,直接在评论区讨论就好了。

hayreddin2019 commented 1 year ago

@pkemb

@hayreddin2019 你好,我也在研究用python在处理calibre的元数据,有关环境的问题想请教,方便吗?有其他的联系方式吗?谢谢!

你好,直接在评论区讨论就好了。 好的,多谢了! 有个问题请教一下,我用的macos系统 path = os.environ.get('CALIBRE_PYTHON_PATH', '/usr/lib/calibre')

sys.resources_location = os.environ.get('CALIBRE_RESOURCES_PATH', '/usr/share/calibre') sys.extensions_location = os.environ.get('CALIBRE_EXTENSIONS_PATH', '/usr/lib/calibre/calibre/plugins') sys.executables_location = os.environ.get('CALIBRE_EXECUTABLES_PATH', '/usr/bin')

这几个路径总是设置不对,尤其是sys.extensions_location,现在卡在这个设置上了,一直找不到icu模块,还有msgpack模块,应该是设置的不对,才没找到,我的系统是macos。

hayreddin2019 commented 1 year ago

另外,我在docker里面ubuntu二进制安装calibre,提示缺libEGL.so.1。没找到安装这个包的办法。

pkemb commented 1 year ago
  1. calibre库的路径

macos 系统的路径与Ubuntu差异很大,所以不能直接套用。参考官方文档,你可以在 /Applications/calibre.app/Contents/MacOS 下找找。我没有macos,所以无法帮忙验证。

calibre is the folder that contains the src and resources sub-folders. The calibre command line tools are found inside the calibre app bundle, in /Applications/calibre.app/Contents/MacOS you should add this folder to your PATH environment variable, if you want to run the command line tools easily.

  1. msgpack包

我不知道你是否有安装pip,如果没有,可以先参考 https://zhuanlan.zhihu.com/p/335220647 安装好pip。再用命令 pip install msgpack 安装即可。

https://pypi.org/project/msgpack/

  1. libEGL.so.1

libEGL.so.1 来源于包 libegl1,可以考虑下面的命令。

RUN apt update && apt install --no-install-recommends -y libegl1

hayreddin2019 commented 1 year ago

官网那个macos的环境设置,我也试了很多次,没成功,就卡在sys.extensions_location了。 我去试试ubuntu,要是能装上就用ubuntu试试。 我正在试着用python增加书籍简介,一本本改太费事了。 不知道你有没有好办法搜索元数据,豆瓣也不能用了,验证越来越频繁。

hayreddin2019 commented 1 year ago

另外,能不能有时间的时候,写一下,你的ubuntu安装calibre的过程,尤其是目录设置,我刚才安装完了,但是目录设置和你不一样,还是找不到sys.extensions_location = os.environ.get('CALIBRE_EXTENSIONS_PATH', '/usr/lib/calibre/calibre/plugins')类似的文件夹,plugins里面都是目录,而读取数据库的元数据好像用到了plugins下的某个模块。

pkemb commented 1 year ago

我刚刚用Ubuntu18,使用apt install calibre 安装了calibre,路径和博客中写的一样。

pk@pkdev:~$ ls /usr/bin/ | grep calibre
calibre
calibre-complete
calibre-customize
calibredb
calibre-debug
calibre-parallel
calibre-server
calibre-smtp
markdown-calibre
pk@pkdev:~$ ls /usr/share/calibre/
builtin_recipes.xml        content-server                 fonts                mime.types               tracer.epub
builtin_recipes.zip        csscolorparser.js              images               mozilla-ca-certs.pem     user-agent-data.json
calibre-ebook-root-CA.crt  default_tweaks.py              images.qrc           quick_start              user-manual-translation-stats.json
calibre-mimetypes.xml      dictionaries                   jacket               rapydscript              viewer
catalog                    ebook-convert-complete.pickle  jquery.simulate.js   scripts.pickle
coffee-script.js           editor-functions.json          localization         template-functions.json
compiled_coffeescript.zip  editor-help                    metadata_sqlite.sql  templates
pk@pkdev:~$ ls /usr/lib/calibre/calibre/plugins/
bzzdec.so     chmlib.so    html.so      imageops.so     libusb.so        matcher.so    _patiencediff_c.so  progress_indicator.so  sqlite_custom.so
certgen.so    cPalmdoc.so  hunspell.so  libheadless.so  lzma_binding.so  monotonic.so  pictureflow.so      qt_hack.so             tokenizer.so
chm_extra.so  freetype.so  icu.so       libmtp.so       lzx.so           msdes.so      podofo.so           speedup.so             zlib

我搜索元数据的方案是自建API服务器,参考 https://github.com/acdzh/douban-book-api。然后再给 calibre-web 写对应的插件。这个方法访问多了也会封,不过过一段时间会自动解封。

hayreddin2019 commented 1 year ago

十分感谢,正在尝试运行你的代码,谢谢!

hayreddin2019 commented 1 year ago

大佬你好,我又来麻烦你了。我用 https://github.com/acdzh/douban-book-api 这个服务都起来了,就是calibre插件安装不上,安装就提示我找不到init.py,能否把你的插件zip、包发一份给我,谢谢!884656254@qq.com

pkemb commented 1 year ago

@hayreddin2019 大佬你好,我又来麻烦你了。我用 https://github.com/acdzh/douban-book-api 这个服务都起来了,就是calibre插件安装不上,安装就提示我找不到init.py,能否把你的插件zip、包发一份给我,谢谢!884656254@qq.com

我没有在calibre上使用这个服务,我是在calibre-web上使用这个服务。

我的calibre-web插件参考https://gist.github.com/pkemb/864cdd2788159b4fee5f14519419dff0。我是模仿 https://github.com/fugary/calibre-web-douban-api 写的。

hayreddin2019 commented 1 year ago

多谢大佬指点!