https://github.com/nukdokplex/rule34-posts-wrapper
Library for retrieving posts and tags from rule34.paheal.net
https://github.com/nukdokplex/rule34-posts-wrapper
api-wrapper nsfw paheal python r34 rule34 rule34api
Last synced: 5 months ago
JSON representation
Library for retrieving posts and tags from rule34.paheal.net
- Host: GitHub
- URL: https://github.com/nukdokplex/rule34-posts-wrapper
- Owner: nukdokplex
- License: mit
- Created: 2022-10-13T10:56:06.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-05-15T04:10:43.000Z (almost 2 years ago)
- Last Synced: 2024-11-08T03:48:01.314Z (6 months ago)
- Topics: api-wrapper, nsfw, paheal, python, r34, rule34, rule34api
- Language: Python
- Homepage:
- Size: 200 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rule34 posts wrapper
[](https://github.com/nukdokplex/rule34-posts-wrapper/actions/workflows/ci.yml)
[](https://app.codecov.io/gh/nukdokplex/rule34-posts-wrapper)
[](https://github.com/nukdokplex/rule34-posts-wrapper)
[](https://github.com/psf/black)
[](https://pypi.org/project/Rule34-Posts-Wrapper/)
This is a [rule34.paheal.net](https://rule34.paheal.net) wrapper that turns your query into an iterable list of posts
with the most important information about them.Consider supporting this project. You can buy me a cup of tea (I don't drink coffee).
- Bitcoin: [bc1qmr5m0z4p0gzqnfrztamrrpmgkw79725dsqdp03](bitcoin:BC1QMR5M0Z4P0GZQNFRZTAMRRPMGKW79725DSQDP03)
- Ethereum: 0xb0627eBDb226b4D972661637091573596c5B3B7a## Installation
To install:
```shell
pip install rule34-posts-wrapper
```
Or for development/testing purposes, clone and run:
```shell
pip install -e .[development]
pre-commit install
```## Usage
### PostsWrapper
To start import ``PostsWrapper`` and call it:
```python
from rule34_posts_wrapper import PostsWrapperposts = PostsWrapper(['your', 'query', 'here'])[0].file
```Note that there is **no authentication** for now so you can't use more than three tags in your query.
Now you can iterate the posts in cycle:
```python
for post in posts:
print(str(post.file) + " - " + " ".join(post.tags)) # Do whatever you want with Post object
```Also you can just interact with it like ``list``
```python
first_post = posts[0]
print(str(first_post.thumbnail))
```
Note that all URLs are ``urllib3.util.Url``, call ``str(posts[x].link)`` to convert it to ``str``.### TagsWrapper
Like ``PostsWrapper``, ``TagsWrapper`` provides you iterable list of ``Tag``'s:
```python
from rule34_posts_wrapper import TagsWrappertags = TagsWrapper("Your_Query_Here")
print(f"Found {len(tags)} tags:", end="\n\n")
for tag in tags:
print(f"Tag: {tag.name}, Count: {tag.count}")
```It uses [rule34.paheal.net](https://rule34.paheal.net) autocomplete that helps you find tags by it's starting
substring.## Testing
To run all tests, just use this command:
```shell
tox -e py
```