Skip to main content

Simple tool to interact with books.com.tw

Project description

English | 简体中文

bookstw

Powered by selenium, bookstw is a simple library to interact with Books.com.tw.

Installation

pip install bookstw

Quick Start

Let's get started with a simple example that logs in to Books.com.tw and signs in daily.

[!NOTE]

For now it is the only feature provided by bookstw.

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options

from bookstw import BooksTWRunner
from bookstw.ocr.baidu import BaiduHandwritingOCR

if __name__ == "__main__":
    baidu_ocr = BaiduHandwritingOCR(
        proxy={"http": "", "https": ""},
        api_key="<YOUR_API_KEY>",
        secret_key="<YOUR_SECRET>"
    )
    options = Options()
    options.add_argument("--disable-gpu")
    options.add_argument("--disable-logging")
    options.add_argument("--log-level=3")
    options.add_argument("--headless")
    options.add_experimental_option("excludeSwitches", ["enable-logging"])
    chrome = Chrome(options)

    runner = BooksTWRunner(ocr=baidu_ocr, webdriver=chrome)
    runner.login("<YOUR_USERNAME>", "<YOUR_PASSWORD>")
    runner.daily_sign_in()

The above code snippet demonstrates how to sign in daily with bookstw.

The BaiduHandwritingOCR is used to solve the captcha. Currently, it is the only OCR provider supported by bookstw. However, you can implement your own OCR provider by inheriting the BaseOCR class.

Github Actions

Fork this repository and create the following secrets in your repository:

  • BAIDU_API_KEY
  • BAIDU_SECRET_KEY
  • BOOKS_TW_USERNAME
  • BOOKS_TW_PASSWORD

Check the workflow file for more details.

API Reference

bookstw.BooksTWRunner

bookstw.BooksTWRunner.__init__(ocr: BaseOCR, webdriver: WebDriver)

Creates a new BooksTWRunner instance.

  • ocr: The OCR provider used to solve the captcha.
  • webdriver: The WebDriver used to interact with Books.com.tw.

bookstw.BooksTWRunner.login(self, username: str, password: str, ocr_retry: int = 3, retry_delay: int = 5) -> None

Login to books.com.tw.

  • username: Username.
  • password: Password.
  • ocr_retry: Number of retries for OCR.
  • retry_delay: Delay between retries in seconds.

bookstw.BooksTWRunner.daily_sign_in(self) -> None

Sign in daily.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bookstw-0.1.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

bookstw-0.1.1-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file bookstw-0.1.1.tar.gz.

File metadata

  • Download URL: bookstw-0.1.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.0 Linux/6.5.0-1016-azure

File hashes

Hashes for bookstw-0.1.1.tar.gz
Algorithm Hash digest
SHA256 947ccd15d991e0bb240786360c7aa4d90f3f052553a0f997dd9416e14c0095c0
MD5 8208bae173d70c0d1b0a5638675f2a5a
BLAKE2b-256 6b667e6e2f0892acf55a3a1b57ef15567be5e476251a3f4092d9cf843a64dd3a

See more details on using hashes here.

File details

Details for the file bookstw-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: bookstw-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.0 Linux/6.5.0-1016-azure

File hashes

Hashes for bookstw-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fa008bdde0701e07c9c40d12642fd8b70c87fc7a296c95db804ae94eb307fb74
MD5 01fac9032216494014b20f8080bd0087
BLAKE2b-256 050336921084acb8b4bc53ac826c3d66b4b797f51f4af61e9cc105debbaec5f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page