Rule34 posts wrapper
This is a rule34.paheal.net wrapper that turns your query into an iterable list of posts with the most important information about them.
Installation
To install:
pip install rule34-posts-wrapper
Or for development/testing purposes, clone and run:
pip install -e .[development]
pre-commit install
Usage
PostsWrapper
To start import PostsWrapper
and call it:
from rule34_posts_wrapper import PostsWrapper
posts = 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:
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
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:
from rule34_posts_wrapper import TagsWrapper
tags = 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 autocomplete that helps you find tags by it's starting substring.
Testing
To run all tests, just use this command:
tox -e py