Skip to main content

网络小说吸气剂,网络抓取和电子书生成工具。

项目描述

网络小说网站很少会提供任何离线阅读内容的方式,而这正是wnget应运而生的原因。它是一种从博客中抓取网络小说的工具,并且可以选择将它们转换为 epub 格式。它提供了几个选项来配置确切的行为,同时尝试提供合理的默认值。可以配置下一个/上一个导航链接的字符串,以及标题/内容容器的 CSS 类,以及其他设置。

除了主要的wnget实用程序外,该套件还包括wnbook,用于从下载的内容生成电子书,以及wnlocal,用于重写 html 文件的链接,这些链接可以使用wnget应用的相同规则解析为本地文件。

安装

$ pip install wnget

如果您碰巧克隆了 repo 并正在使用代码,您可能希望在处理 wnget时以“可编辑”模式安装它。这样它就可以以项目形式安装和编辑。

假设您位于项目的根目录中,只需运行:

$ pip install -e .

配置

任何以“-”开头的参数也可以在配置文件中设置(./wnget.conf 或 ~/.wnget.conf 或通过 -s 指定)。用于设置(键、值)对的公认语法基于 INI 和 YAML 格式(例如 key=value 或 foo=TRUE)。如果在多个位置指定了参数,则命令行值会覆盖配置文件值,而配置文件值会覆盖默认值。

默认配置如下所示:

keeplinks: no
firsttitle: no
next: <s>"Next</s> <s>Chapter"</s>
previous: <s>"Previous</s> <s>Chapter"</s>
titleclass: entry-title
contentclass: entry-content
epub: default_ebook
limit: 0 # No limit if < 1

由于每个网络小说网站都有一个独特的主题,_wnget_ 附带的默认配置不太可能开箱即用(除非您碰巧真的沉迷于与您相同的配置)。随意为您喜欢的网站扩展 data/sites.yaml 并发出拉取请求。

用法

$ wnget --help
usage: wnget [-h] [-s file] [-k] [-f] [-n caption] [-p caption] [-t css_class]
             [-c css_class] [-e title] [-l N] [-v]
             first_url [last_url]

positional arguments:
  first_url             first URL to crawl
  last_url              optional last URL to crawl (stops after reaching)

optional arguments:
  -h, --help            show this help message and exit
  -s file, --settings file
                        config file path
  -k, --keeplinks       rewrite and keep navigation links in HTML content
  -f, --firsttitle      keep first title match instead of trying to be smart
                        about it
  -n caption, --next caption
                        next link caption (default: 'Next Chapter')
  -p caption, --previous caption
                        previous link caption (default: 'Previous Chapter')
  -t css_class, --titleclass css_class
                        title container class (default: 'entry-title')
  -c css_class, --contentclass css_class
                        content container class (default: 'entry-content')
  -e title, --epub title
                        create Epub with this title (will use cover.jpg/png if
                        found)
  -l N, --limit N       crawl at most N pages
  -v, --version         show program's version number and exit

使用示例

调用不带参数的每个命令以显示帮助信息。

刮板在标题和内容容器中查找给定的 CSS 类,并且可以手动设置这些类以适合您选择的网络小说网站。它还查找带有默认字符串的链接以查找下一章和上一章,这也可以手动设置。

要抓取给定网络小说的所有章节,请点击链接,并将每个章节保存在当前目录中的不同 html 文件中:

$ wnget http://example.com/first_chapter_link

或者,对于更高级的用途,下载所有章节,直到检索到给定的链接,并生成带有战利品的 EPUB:

$ wnget -e "My Web Novel" \
  http://example.com/first_chapter_link  \
  http://example.com/first_chapter_link

此外,可以通过wnbook独立实用程序直接使用电子书功能 。只需提供 HTML 索引文件和图书名称,它就会在工作目录中生成包含所有引用资源的电子书:

$ wnbook index.html "My Web Novel"

此外,如果存在 cover.png 或 cover.jpg 文件,它将被用作封面。它作为独立命令的使用通常会更加灵活,因为它公开了主应用程序通常不使用的功能,同时允许对下载的内容和索引文件进行一些手动调整。

在这里,使用相对路径、自定义文件名、封面图片和语言/作者元数据生成一本书:

$ wnbook ../index.html "I Shall Seal the Heavens (我欲封天)" \
  --filename=issth.epub --language=zh --author="Ergen (耳根)" \
  --cover ~/images/MengHao.png

最后,要重写文件中的链接以使它们指向已下载的资源,可以使用wnlocal 。

将转换后的文件打印到标准输出:

$ wnlocal introduction.html

或者将其写回磁盘:

$ wnlocal introduction.html newfile.html

去做

  • 使内容选择更加灵活:按标签、类、标题或 xpath。

  • 添加在解析阶段要删除的元素的选项。

  • 添加交互式标题选择模式(以及重复选择的能力)。

  • 内容内图像支持(下载和本地存储)。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

wnget-0.3.1.tar.gz (14.4 kB 查看哈希

已上传 source

内置分布

wnget-0.3.1-py2.py3-none-any.whl (15.2 kB 查看哈希

已上传 py2 py3