序言

最近在用 Python 写爬虫来下载漫画(见之前几篇介绍 LANraragi 的文章)。一本漫画的网页通常是这样的:

image-20240329132644183

该网页上的所有数据可以用 BeautifulSoup 获得,而一个页面只需要一次通信。但是下载图片不一样,一张图片就需要一次通信,而且响应体往往很大。正如包子不会一个个地煮,图片也不用顺序地下载,否则太浪费时间了。

AIOHTTP 是一个异步 HTTP 客户端/服务端模块,很适合这一场景。通过异步编程,能够最大程度地榨取网络(和对方服务器)的性能。本文着眼于介绍 AIOHTTP 的基本使用和案例,不会详细阐述原理。

阅读全文 »

题目

题目来源:889. 根据前序和后序遍历构造二叉树(每日一题)

题目描述

给定两个整数数组,preorderpostorder ,其中 preorder 是一个具有 无重复 值的二叉树的前序遍历,postorder 是同一棵树的后序遍历,重构并返回二叉树。

如果存在多个答案,您可以返回其中 任何 一个。

阅读全文 »

序言

Jellyfin 的设计理念是用户按照其媒体规则,创建对应层级的文件夹,放入媒体文件,再根据网络刮削器得到的元数据修改文件标题。但是这种规则过分强制了,以至于使用原始文件名作为标题的功能都没有。我们当然可以手动修改媒体标题,但这样太麻烦了。

基于这种需求,我使用 jellyfin-apiclient-python 写了一个脚本,来批量重命名某个媒体库下的所有媒体。同时,本文也列举了以往的一些方案。在我看来,以前的方案都不尽人意。

阅读全文 »

序言

Jellyfin 是一个开源的媒体服务器。我的用法是:在电脑上使用 qBittorrent 下载每日新番,启动 Jellyfin,然后在 iPad 上通过客户端看番。

之前在 Windows 主机上安装了便捷版的 Jellyfin,因为 Linux 虚拟机没法使用显卡,无法硬件转码。后来发现,Android 和 IOS 的客户端支持大部分编码,服务器无需提供转码服务。正好我已经熟悉了 Jellyfin 的使用和配置,可以将 Jellyfin 迁移到 Docker 上去了。

虽然 Jellyfin 软件是跨平台的,但是它的配置还是 OS-dependent 的,更何况我是要从 Windows 迁移到 Docker 中去。尽管有一个第三方脚本可以使用,但保险起见,我还是重新配置了一遍,反正也不多。

这篇文章主要讲解了如何用 Docker 安装 Jellyfin、期间碰到的问题及其解决方案。

阅读全文 »
0%