Giter VIP home page Giter VIP logo

jvav's Introduction

Jvav

Useful tools for Jav. Supports Python library operations and command-line usage, with additional proxy options and cache support.

INSTALL

# python >= 3.7
pip install jvav -U

LIB

  • DmmUtil
  • JavDbUtil
  • JavLibUtil
  • JavBusUtil
  • AvgleUtil
  • MagnetUtil
  • SukebeiUtil
  • WikiUtil
  • TransUtil
  • RankUtil
# 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

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]
              [-tp] [-p PROXY]

optional arguments:
  -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, get it
                        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
  -tp                   Get the top 25 ranking of DMM actresses
  -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.7.12 for development, please use python <= 3.7.

And it is recommended to use python virtual environment to avoid some unnecessary problems.

Here is my developing steps:

git clone https://github.com/akynazh/jvav.git
cd jvav
~/.pyenv/versions/3.7.12/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 RankUtil in CMD
  • cache the successful query results locally (Thanks: @akynazh)
  • support javdb.com (Thanks: @Steven-Fake)
  • support db.msin.jp
  • support JavDbUtil in cmd (Thanks: @akynazh)

Thanks

JetBrains Logo (Main) logo.

Thanks to JetBrains for their support to this project!

jvav's People

Contributors

akynazh avatar kpg-anon avatar steven-fake avatar zfuchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

jvav's Issues

JavBusUtil some improvement suggestion.

Appreciate a lot for your repository !!!

  • JavBusUtil initial argument
    • bus_auth should have default empty string value ""
    • line 1191 bus_auth: str,
      • to bus_auth="",
  • JavBusUtil other languages support
    • in case of base_url = "https://www.javbus.com/en" to retrieve stars name with English or another language rather than Japanese.
    • get_av_by_id() should not remove and rejoin empty spaces when parse a tags.
    • line 1563 av["tags"] = ["".join(tag.text.split()) for tag in tags]
      • to av["tags"] = [tag.text.strip() for tag in tags]
      • or av["tags"] = [re.sub(r"[\s]+", " ", tag.text.strip()) for tag in tags] to remove double spaces
      • or av["tags"] = [re.sub(r"([^a-z]|^)[\s]+([^a-z]|$)", r"\1\2", tag.text.strip(), flags=re.IGNORECASE) for tag in tags] to remove space only between non English characters

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.