web小说getter,一个web抓取和电子书生成工具。

wnget的Python项目详细描述


网络小说网站很少提供任何阅读内容的途径 这正是wnget出现的原因。它是一个工具 从博客中抓取网络小说,并有选择地将其转换为ePub 格式。它提供了几个选项来配置确切的行为, 同时试图提供合理的违约。弦 下一个/上一个导航链接,以及 除其他设置外,还可以配置标题/内容容器。

除了主要的wnget实用程序外,套件还包括wnbook,以 从下载的内容生成电子书,并wnlocal,以重写 可以使用 由wnget应用的相同规则。

安装

$ pip install wnget

如果你碰巧克隆了回购协议并在玩代码, 您可能希望在“可编辑”模式下安装wnget。 正在努力。因此,它在 项目表。

假设您是项目的根,只需运行:

$ pip install -e .

配置

任何以“-”开头的参数也可以在配置文件中设置 (./wnget.conf或~/.wnget.conf或通过-s指定)。这个 可识别的设置(键、值)对语法基于ini和yaml 格式(例如,key=value或foo=true)。如果参数的指定范围超过 一个位置,然后命令行值重写配置文件值 默认值。

默认配置如下:

keeplinks:nofirsttitle:nonext:"NextChapter"previous:"PreviousChapter"titleclass:entry-titlecontentclass:entry-contentepub:default_ebooklimit: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

用法示例

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

scraper在title和content容器中查找给定的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。
  • 为要在解析阶段移除的元素添加选项。
  • 添加交互式标题选择模式(和重复选择的能力)。
  • 在内容映像支持中(下载并本地存储)。

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

推荐PyPI第三方库


热门话题
Java调用外部进程exe   java跨源请求阻止Spring REST服务+AJAX   运行Eclipse创建的JAR时未显示java图像   带有自定义适配器的TimerTask期间的java更新列表视图   Java Netbeans 7.01中的swing注册表单空指针异常   java如何向所有HttpClient请求方法添加参数?   为什么在将json映射到JavaBean的过程中,Spring MVC将参数[“”]转换为[null]?   创建名为“messageDispatcher”的bean时发生java错误   java Apache骆驼线程JDBC   java Spring引导请求添加bean,即使存在   java如何以正确的方式编写单例?   JavaSpringBoot试图使用@JsonTest注释在测试中创建mongo存储库   java Android将gmt时间转换为可读日期   java“Serializable无法解析为类型”   spring我可以在Java注释中使用ScopedProxy模式时访问JobExecutionContext吗   java slf4j apache tomcat eclipse   通过HashMap的java循环   java无法在两个活动之间更改TextView?