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_KEYBAIDU_SECRET_KEYBOOKS_TW_USERNAMEBOOKS_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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
947ccd15d991e0bb240786360c7aa4d90f3f052553a0f997dd9416e14c0095c0
|
|
| MD5 |
8208bae173d70c0d1b0a5638675f2a5a
|
|
| BLAKE2b-256 |
6b667e6e2f0892acf55a3a1b57ef15567be5e476251a3f4092d9cf843a64dd3a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa008bdde0701e07c9c40d12642fd8b70c87fc7a296c95db804ae94eb307fb74
|
|
| MD5 |
01fac9032216494014b20f8080bd0087
|
|
| BLAKE2b-256 |
050336921084acb8b4bc53ac826c3d66b4b797f51f4af61e9cc105debbaec5f2
|