# Jvav
Useful tools for crawling study resources. Supports Python library operations and command-line usage, with additional proxy options and cache support.
## INSTALL
```
# python >= 3.9
pip install jvav -U
```
## LIB
- DmmUtil
- JavDbUtil
- JavLibUtil
- JavBusUtil
- AvgleUtil
- MagnetUtil
- SukebeiUtil
- WikiUtil
- TransUtil
- RankUtil
```py
# A sample for DmmUtil
import jvav
util = jvav.DmmUtil()
util.get_nice_avs_by_star_name('小倉由菜')
util.get_score_by_id('cawd-441')
util.get_all_top_stars()
```
## CMD
```shell
usage: cmd.py [-h] [-v] [-av1 AV1] [-av2 AV2] [-av3 AV3] [-sg SG] [-auth AUTH] [-nc] [-uc] [-sr SR] [-srn SRN] [-tg TG] [-pv1 PV1] [-pv2 PV2] [-rk1] [-rk2] [-p PROXY]
options:
-h, --help show this help message and exit
-v, --version Check version
-av1 AV1 Followed by a code, search this code on JavBus
-av2 AV2 Followed by a code, search this code on Sukebei
-av3 AV3 Followed by a code, search this code on JavDb
-sg SG Followed by a code, search the explainer video of this code
-auth AUTH Followed by a authentication code for JavBus, use it if you failed to search from Javbus, get the code from cookie key: bus_auth
-nc Filter out high-definition subtitles magnet links
-uc Filter out uncoded magnet links
-sr SR Followed by an actress name, get a list of high-rated codes based on the actress name
-srn SRN Followed by an actress name, get a list of the most recent codes based on the actress name
-tg TG Followed by a keyword, search for codes based on the keyword
-pv1 PV1 Followed by a code, get the corresponding preview video of the code on DMM
-pv2 PV2 Follow a code, get the corresponding preview video of the code on Avgle
-rk1 Get the top 25 ranking of DMM actresses
-rk2 Get the top 25 ranking of AVs
-p PROXY, --proxy PROXY
Followed by a proxy server address (by default reads the value of the environment variable http_proxy)
```
## DEV
I use python-3.9.13 for development, please use python <= 3.9.
And it is recommended to use python virtual environment to avoid some unnecessary problems.
Here is my developing steps:
```shell
git clone https://github.com/akynazh/jvav.git
cd jvav
~/.pyenv/versions/3.9.13/bin/python -m venv .venv
source ./.venv/bin/activate
pip3 install -r requirements.txt
```
And then you can enjoy coding! Remember to write or run test cases in `tests/test.py`.
Please make sure the test is okay before submitting your code~
## TODO
The following are some functions to be implemented, and I look forward to your contribution~
- [ ] support db.msin.jp
- [x] support RankUtil in CMD (Thanks: [@akynazh](https://github.com/akynazh))
- [x] cache the successful query results locally (Thanks: [@akynazh](https://github.com/akynazh))
- [x] support javdb.com (Thanks: [@Steven-Fake](https://github.com/Steven-Fake))
- [x] support JavDbUtil in cmd (Thanks: [@akynazh](https://github.com/akynazh))
## Thanks
<a href="https://www.jetbrains.com/">
<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png" alt="JetBrains Logo (Main) logo." style="width: 200px;"></a>
Thanks to JetBrains for their support to this project!
Raw data
{
"_id": null,
"home_page": "https://github.com/akynazh/jvav",
"name": "Jvav",
"maintainer": null,
"docs_url": null,
"requires_python": "~=3.9",
"maintainer_email": null,
"keywords": "nsfw japan video api library python spider jav adult",
"author": "akynazh",
"author_email": "akynazh@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/72/97/efcfe9adfe687891dcb1780ebfed8b75bbe3e2216edb21d8f13d6d60de51/jvav-2.5.3.tar.gz",
"platform": null,
"description": "# Jvav\n\nUseful tools for crawling study resources. Supports Python library operations and command-line usage, with additional proxy options and cache support.\n\n## INSTALL\n\n```\n# python >= 3.9\npip install jvav -U\n```\n\n## LIB\n\n- DmmUtil\n- JavDbUtil\n- JavLibUtil\n- JavBusUtil\n- AvgleUtil\n- MagnetUtil\n- SukebeiUtil\n- WikiUtil\n- TransUtil\n- RankUtil\n\n```py\n# A sample for DmmUtil\nimport jvav\n\nutil = jvav.DmmUtil()\nutil.get_nice_avs_by_star_name('\u5c0f\u5009\u7531\u83dc')\nutil.get_score_by_id('cawd-441')\nutil.get_all_top_stars()\n```\n\n## CMD\n\n```shell\nusage: cmd.py [-h] [-v] [-av1 AV1] [-av2 AV2] [-av3 AV3] [-sg SG] [-auth AUTH] [-nc] [-uc] [-sr SR] [-srn SRN] [-tg TG] [-pv1 PV1] [-pv2 PV2] [-rk1] [-rk2] [-p PROXY]\n\noptions:\n -h, --help show this help message and exit\n -v, --version Check version\n -av1 AV1 Followed by a code, search this code on JavBus\n -av2 AV2 Followed by a code, search this code on Sukebei\n -av3 AV3 Followed by a code, search this code on JavDb\n -sg SG Followed by a code, search the explainer video of this code\n -auth AUTH Followed by a authentication code for JavBus, use it if you failed to search from Javbus, get the code from cookie key: bus_auth\n -nc Filter out high-definition subtitles magnet links\n -uc Filter out uncoded magnet links\n -sr SR Followed by an actress name, get a list of high-rated codes based on the actress name\n -srn SRN Followed by an actress name, get a list of the most recent codes based on the actress name\n -tg TG Followed by a keyword, search for codes based on the keyword\n -pv1 PV1 Followed by a code, get the corresponding preview video of the code on DMM\n -pv2 PV2 Follow a code, get the corresponding preview video of the code on Avgle\n -rk1 Get the top 25 ranking of DMM actresses\n -rk2 Get the top 25 ranking of AVs\n -p PROXY, --proxy PROXY\n Followed by a proxy server address (by default reads the value of the environment variable http_proxy)\n```\n\n## DEV\n\nI use python-3.9.13 for development, please use python <= 3.9. \n\nAnd it is recommended to use python virtual environment to avoid some unnecessary problems.\n\nHere is my developing steps:\n\n```shell\ngit clone https://github.com/akynazh/jvav.git\ncd jvav\n~/.pyenv/versions/3.9.13/bin/python -m venv .venv\nsource ./.venv/bin/activate\npip3 install -r requirements.txt\n```\n\nAnd then you can enjoy coding! Remember to write or run test cases in `tests/test.py`.\nPlease make sure the test is okay before submitting your code~\n\n## TODO\n\nThe following are some functions to be implemented, and I look forward to your contribution~ \n\n- [ ] support db.msin.jp\n- [x] support RankUtil in CMD (Thanks: [@akynazh](https://github.com/akynazh))\n- [x] cache the successful query results locally (Thanks: [@akynazh](https://github.com/akynazh))\n- [x] support javdb.com (Thanks: [@Steven-Fake](https://github.com/Steven-Fake))\n- [x] support JavDbUtil in cmd (Thanks: [@akynazh](https://github.com/akynazh))\n\n## Thanks\n\n<a href=\"https://www.jetbrains.com/\">\n<img src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png\" alt=\"JetBrains Logo (Main) logo.\" style=\"width: 200px;\"></a>\n\nThanks to JetBrains for their support to this project!\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "[NSFW] Useful tools for crawling study resources.",
"version": "2.5.3",
"project_urls": {
"Download": "https://github.com/akynazh/jvav/releases/latest",
"Homepage": "https://github.com/akynazh/jvav",
"Source": "https://github.com/akynazh/jvav",
"Tracker": "https://github.com/akynazh/jvav/issues"
},
"split_keywords": [
"nsfw",
"japan",
"video",
"api",
"library",
"python",
"spider",
"jav",
"adult"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9cea6bb1416f5e70453e186f2de9a206ceaffc17e28a3f00a2a91723cdce441d",
"md5": "ed3d24adfa3cbb5128854211482fedf5",
"sha256": "b6307b07fcb5cde4f26660fea20ce335f89c83bb93d43eba04e9691129d52223"
},
"downloads": -1,
"filename": "Jvav-2.5.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ed3d24adfa3cbb5128854211482fedf5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "~=3.9",
"size": 32215,
"upload_time": "2025-01-22T07:20:38",
"upload_time_iso_8601": "2025-01-22T07:20:38.376618Z",
"url": "https://files.pythonhosted.org/packages/9c/ea/6bb1416f5e70453e186f2de9a206ceaffc17e28a3f00a2a91723cdce441d/Jvav-2.5.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7297efcfe9adfe687891dcb1780ebfed8b75bbe3e2216edb21d8f13d6d60de51",
"md5": "ebd8d30aaa04901c7c62744f03bbfe33",
"sha256": "692a2f02ba240645c9f68f7f3b4ab35f3fff788ff0b2324e8897f42c8071c98d"
},
"downloads": -1,
"filename": "jvav-2.5.3.tar.gz",
"has_sig": false,
"md5_digest": "ebd8d30aaa04901c7c62744f03bbfe33",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "~=3.9",
"size": 34613,
"upload_time": "2025-01-22T07:20:40",
"upload_time_iso_8601": "2025-01-22T07:20:40.704320Z",
"url": "https://files.pythonhosted.org/packages/72/97/efcfe9adfe687891dcb1780ebfed8b75bbe3e2216edb21d8f13d6d60de51/jvav-2.5.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-22 07:20:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "akynazh",
"github_project": "jvav",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "anti-useragent",
"specs": [
[
">=",
"1.0.10"
]
]
},
{
"name": "attrs",
"specs": [
[
">=",
"23.2.0"
]
]
},
{
"name": "beautifulsoup4",
"specs": [
[
">=",
"4.11.2"
]
]
},
{
"name": "build",
"specs": [
[
">=",
"1.0.3"
]
]
},
{
"name": "cattrs",
"specs": [
[
">=",
"23.1.2"
]
]
},
{
"name": "certifi",
"specs": [
[
">=",
"2023.11.17"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
">=",
"3.3.2"
]
]
},
{
"name": "click",
"specs": [
[
">=",
"8.1.7"
]
]
},
{
"name": "deep-translator",
"specs": [
[
">=",
"1.11.4"
]
]
},
{
"name": "exceptiongroup",
"specs": [
[
">=",
"1.2.0"
]
]
},
{
"name": "idna",
"specs": [
[
">=",
"3.6"
]
]
},
{
"name": "importlib-metadata",
"specs": [
[
">=",
"6.7.0"
]
]
},
{
"name": "langdetect",
"specs": [
[
">=",
"1.0.9"
]
]
},
{
"name": "loguru",
"specs": [
[
">=",
"0.7.2"
]
]
},
{
"name": "lxml",
"specs": [
[
">=",
"4.9.2"
]
]
},
{
"name": "mypy-extensions",
"specs": [
[
">=",
"1.0.0"
]
]
},
{
"name": "packaging",
"specs": [
[
">=",
"23.2"
]
]
},
{
"name": "pathspec",
"specs": [
[
">=",
"0.11.2"
]
]
},
{
"name": "platformdirs",
"specs": [
[
">=",
"4.0.0"
]
]
},
{
"name": "pyproject-hooks",
"specs": [
[
">=",
"1.0.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.31.0"
]
]
},
{
"name": "requests-cache",
"specs": [
[
">=",
"1.1.1"
]
]
},
{
"name": "six",
"specs": [
[
">=",
"1.16.0"
]
]
},
{
"name": "soupsieve",
"specs": [
[
">=",
"2.4.1"
]
]
},
{
"name": "tomli",
"specs": [
[
">=",
"2.0.1"
]
]
},
{
"name": "typed-ast",
"specs": [
[
">=",
"1.5.5"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
">=",
"4.7.1"
]
]
},
{
"name": "url-normalize",
"specs": [
[
">=",
"1.4.3"
]
]
},
{
"name": "urllib3",
"specs": [
[
">=",
"2.0.7"
]
]
},
{
"name": "Wikipedia-API",
"specs": [
[
">=",
"0.5.8"
]
]
},
{
"name": "zipp",
"specs": [
[
">=",
"3.15.0"
]
]
},
{
"name": "pytest",
"specs": []
},
{
"name": "twine",
"specs": []
}
],
"lcname": "jvav"
}