asmr-spider


Nameasmr-spider JSON
Version 0.2.1 PyPI version JSON
download
home_pagehttps://github.com/tkgs0/asmr-spider
Summaryasmr.one 音声下载器
upload_time2024-04-08 04:01:49
maintainerNone
docs_urlNone
author月ヶ瀬
requires_python<4.0,>=3.9
licenseGPL-3.0
keywords asmr asmr downloader
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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>, 现在每天都有不同的女孩子陪我睡觉。


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/tkgs0/asmr-spider",
    "name": "asmr-spider",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "ASMR, ASMR Downloader",
    "author": "\u6708\u30f6\u702c",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/fc/87/e1f1f743ec319a760a984849e1edb945fed426a126cabda135902ee2b2f9/asmr_spider-0.2.1.tar.gz",
    "platform": null,
    "description": "# ASMR-Spider\n\n\u672c\u9879\u76ee\u6539\u7f16\u81ea [DiheChen/go-asmr-spider](https://github.com/DiheChen/go-asmr-spider/tree/python)\n\n<div>\n\n<a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/tkgs0/asmr-spider.svg\" alt=\"License\">\n</a>\n<a href=\"https://pypi.python.org/pypi/asmr-spider\">\n    <img src=\"https://img.shields.io/pypi/v/asmr-spider.svg\" alt=\"PyPI\">\n</a>\n<a href=\"https://www.python.org\">\n    <img src=\"https://img.shields.io/badge/python-3.9+-blue.svg\" alt=\"Python\">\n</a>\n\n</div>\n\n\u4e00\u4e2a\u7b80\u5355\u7684 <https://asmr.one> \u722c\u866b\n\n\n## TODO\n\n- [x] \u6587\u4ef6\u68c0\u67e5 (\u901a\u8fc7\u65f6\u957f)\n- [x] \u9519\u8bef\u6587\u4ef6\u91cd\u65b0\u4e0b\u8f7d\n- [x] \u652f\u6301\u66f4\u591a\u683c\u5f0f (\u901a\u8fc7 `ffmpeg` \u548c `ffprobe`)\n- [ ] ffmpeg\u7684\u5206\u6790\u5f88\u6162, \u5bfb\u627e\u66f4\u597d\u7684\u65b9\u5f0f\n- [ ] \u6307\u5b9a\u4e0b\u8f7d\u8def\u5f84\n- [ ] \u4e0b\u8f7d\u6587\u4ef6\u4e2d\u9014\u505c\u6b62\u8bb0\u5f55\n- [ ] \u65ad\u70b9\u7eed\u4f20\n- [ ] \u4e0b\u8f7d\u81ea\u52a8\u5206\u7c7b\u914d\u7f6e\n\n\n## \u4f7f\u7528\n\n\u4e0d\u4f7f\u7528 `ffmpeg` \u548c `ffprobe` \u65f6\u4ec5\u652f\u6301 `mp3` `wav` `flac` \u683c\u5f0f\u7684\u97f3\u9891\u5206\u6790  \n  \n[ffmpeg Documentation](https://www.ffmpeg.org/)  \n[ffprobe Documentation](https://www.ffmpeg.org/ffprobe.html)  \n  \n\u76ee\u524d `ffmpeg` \u5206\u6790\u5f88\u6162, \u5e73\u5747\u4e00\u4e2a\u6587\u4ef63s\u4ee5\u4e0a  \n  \n  \n### \u5df2\u77e5\u95ee\u9898\n\n\u672a\u5b89\u88c5**ffmpeg**\u65f6\u53ef\u80fd\u4f1a\u62a5\u7f3a\u5c11**libsndfile**\u7b49\u8fd0\u884c\u5e93,  \n\u4ecd\u9700\u8981\u53e6\u5916\u5b89\u88c5\u76f8\u5173\u4f9d\u8d56.\n  \n\n<details>\n  <summary>Install ffmpeg or libsndfile</summary>\n  <br>\n\n  **Debian/Ubuntu\u5b89\u88c5:**\n  ```zsh\n  apt update && apt install ffmpeg\n  ```\n  **\u6216\u8005**:\n  ```zsh\n  apt update && apt install libsndfile1\n  ```\n\n  <br>\n\n  **ArchLinux\u5b89\u88c5:**\n  ```zsh\n  pacman -Syu ffmpeg\n  ```\n  **\u6216\u8005**:\n  ```zsh\n  pacman -Syu libsndfile\n  ```\n\n  <br>\n\n  **Mac\u5b89\u88c5:**\n  ```zsh\n  brew install ffmpeg\n  ```\n\n  <br>\n\n  **Windows\u5b89\u88c5:**  \n  \n  \u8bf7\u53c2\u8003 [ffmpeg Documentation](https://www.ffmpeg.org/) \u81ea\u884c\u89e3\u51b3\n\n</details>\n\n\n### Install\n\n```bash\npip install -U asmr-spider\n```\n\n\n### Run\n\n```bash\n#\u76f4\u63a5\u4e0b\u8f7d, \u9ed8\u8ba4\u68c0\u67e5\u91cd\u590d\nasmr RJ373001 RJ385913\n#\u6216\u8005\nasmr RJ373001 RJ385913 -a check\n# `asmr` \u540e\u9762\u63a5RJ\u53f7, \u53ef\u8f93\u5165\u591a\u4e2a, \u4f7f\u7528\u7a7a\u683c\u9694\u5f00\n\n#\u7981\u7528\u68c0\u67e5, \u8df3\u8fc7\u5df2\u4e0b\u8f7d\u7684\u6587\u4ef6\nasmr RJ373001 RJ385913 -a nocheck\n\n#\u5f3a\u5236\u91cd\u65b0\u4e0b\u8f7d\u6240\u6709\u6587\u4ef6\nasmr RJ373001 RJ385913 -a redownload\n```\n\n\u914d\u7f6e\u6587\u4ef6 `asmr_spider.yml` \u548c \u97f3\u9891\u76ee\u5f55 `Voice` \u4fdd\u5b58\u5728\u547d\u4ee4\u6267\u884c\u65f6\u6240\u5728\u7684\u8def\u5f84\n\n<details>\n  <summary>Import</summary>\n\n```python3\nfrom asmr_spider import dload\n\nasync def demo():\n    args = ['RJ373001', 'RJ385913']\n    action = 'check'  # 'check', 'redownload', 'nocheck'\n    await dload(args, action)\n```\n\n`asmr_spider.yml` \u548c `Voice` \u5c06\u4fdd\u5b58\u5728\u4f60\u81ea\u5df1\u7684\u9879\u76ee\u6839\u8def\u5f84\n\n</details>\n\n## \u81f4\u8c22\n\n- \u611f\u8c22 [\u5730\u6cb3\u9171](https://github.com/DiheChen), \u5730\u6cb3\u9171yyds\ud83e\udd17\n- \u611f\u8c22 <https://asmr.one>, \u73b0\u5728\u6bcf\u5929\u90fd\u6709\u4e0d\u540c\u7684\u5973\u5b69\u5b50\u966a\u6211\u7761\u89c9\u3002\n\n",
    "bugtrack_url": null,
    "license": "GPL-3.0",
    "summary": "asmr.one \u97f3\u58f0\u4e0b\u8f7d\u5668",
    "version": "0.2.1",
    "project_urls": {
        "Homepage": "https://github.com/tkgs0/asmr-spider",
        "Repository": "https://github.com/tkgs0/asmr-spider"
    },
    "split_keywords": [
        "asmr",
        " asmr downloader"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d49d9c2bde4e20dd4d8f18b59463e85db6ab776ebf77c5bc3734323b680f1e57",
                "md5": "573aa920e0e9a5ca6e6490f7956d3de7",
                "sha256": "e32c21cac6e2c9e9f3958d62be805561f3825499bd7f5efc5618199a15701d9d"
            },
            "downloads": -1,
            "filename": "asmr_spider-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "573aa920e0e9a5ca6e6490f7956d3de7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 19889,
            "upload_time": "2024-04-08T04:01:45",
            "upload_time_iso_8601": "2024-04-08T04:01:45.988361Z",
            "url": "https://files.pythonhosted.org/packages/d4/9d/9c2bde4e20dd4d8f18b59463e85db6ab776ebf77c5bc3734323b680f1e57/asmr_spider-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc87e1f1f743ec319a760a984849e1edb945fed426a126cabda135902ee2b2f9",
                "md5": "1fe0c1073300e16062cda57877db1983",
                "sha256": "5963957beb90d4fd3d2eb4aa7367ad93f8732f1510607e7130a87c739f70b0d6"
            },
            "downloads": -1,
            "filename": "asmr_spider-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "1fe0c1073300e16062cda57877db1983",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 18499,
            "upload_time": "2024-04-08T04:01:49",
            "upload_time_iso_8601": "2024-04-08T04:01:49.139661Z",
            "url": "https://files.pythonhosted.org/packages/fc/87/e1f1f743ec319a760a984849e1edb945fed426a126cabda135902ee2b2f9/asmr_spider-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-08 04:01:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tkgs0",
    "github_project": "asmr-spider",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "asmr-spider"
}
        
Elapsed time: 0.21259s