Metadata-Version: 2.1
Name: asmr-spider
Version: 0.2.1
Summary: asmr.one 音声下载器
Home-page: https://github.com/tkgs0/asmr-spider
License: GPL-3.0
Keywords: ASMR,ASMR Downloader
Author: 月ヶ瀬
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: PyYAML (>=6.0)
Requires-Dist: httpx (>=0.23.0)
Requires-Dist: loguru (>=0.6.0)
Requires-Dist: pydantic (>=2.1.1,<3.0.0)
Requires-Dist: pydub (>=0.25.1)
Requires-Dist: rich (>=13.0.0)
Requires-Dist: soundfile (>=0.12.1)
Project-URL: Repository, https://github.com/tkgs0/asmr-spider
Description-Content-Type: text/markdown

# ASMR-Spider

本项目改编自 [DiheChen/go-asmr-spider](https://github.com/DiheChen/go-asmr-spider/tree/python)

<div>

<a href="./LICENSE">
    <img src="https://img.shields.io/github/license/tkgs0/asmr-spider.svg" alt="License">
</a>
<a href="https://pypi.python.org/pypi/asmr-spider">
    <img src="https://img.shields.io/pypi/v/asmr-spider.svg" alt="PyPI">
</a>
<a href="https://www.python.org">
    <img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python">
</a>

</div>

一个简单的 <https://asmr.one> 爬虫


## TODO

- [x] 文件检查 (通过时长)
- [x] 错误文件重新下载
- [x] 支持更多格式 (通过 `ffmpeg` 和 `ffprobe`)
- [ ] ffmpeg的分析很慢, 寻找更好的方式
- [ ] 指定下载路径
- [ ] 下载文件中途停止记录
- [ ] 断点续传
- [ ] 下载自动分类配置


## 使用

不使用 `ffmpeg` 和 `ffprobe` 时仅支持 `mp3` `wav` `flac` 格式的音频分析  
  
[ffmpeg Documentation](https://www.ffmpeg.org/)  
[ffprobe Documentation](https://www.ffmpeg.org/ffprobe.html)  
  
目前 `ffmpeg` 分析很慢, 平均一个文件3s以上  
  
  
### 已知问题

未安装**ffmpeg**时可能会报缺少**libsndfile**等运行库,  
仍需要另外安装相关依赖.
  

<details>
  <summary>Install ffmpeg or libsndfile</summary>
  <br>

  **Debian/Ubuntu安装:**
  ```zsh
  apt update && apt install ffmpeg
  ```
  **或者**:
  ```zsh
  apt update && apt install libsndfile1
  ```

  <br>

  **ArchLinux安装:**
  ```zsh
  pacman -Syu ffmpeg
  ```
  **或者**:
  ```zsh
  pacman -Syu libsndfile
  ```

  <br>

  **Mac安装:**
  ```zsh
  brew install ffmpeg
  ```

  <br>

  **Windows安装:**  
  
  请参考 [ffmpeg Documentation](https://www.ffmpeg.org/) 自行解决

</details>


### Install

```bash
pip install -U asmr-spider
```


### Run

```bash
#直接下载, 默认检查重复
asmr RJ373001 RJ385913
#或者
asmr RJ373001 RJ385913 -a check
# `asmr` 后面接RJ号, 可输入多个, 使用空格隔开

#禁用检查, 跳过已下载的文件
asmr RJ373001 RJ385913 -a nocheck

#强制重新下载所有文件
asmr RJ373001 RJ385913 -a redownload
```

配置文件 `asmr_spider.yml` 和 音频目录 `Voice` 保存在命令执行时所在的路径

<details>
  <summary>Import</summary>

```python3
from asmr_spider import dload

async def demo():
    args = ['RJ373001', 'RJ385913']
    action = 'check'  # 'check', 'redownload', 'nocheck'
    await dload(args, action)
```

`asmr_spider.yml` 和 `Voice` 将保存在你自己的项目根路径

</details>

## 致谢

- 感谢 [地河酱](https://github.com/DiheChen), 地河酱yyds🤗
- 感谢 <https://asmr.one>, 现在每天都有不同的女孩子陪我睡觉。

