pip install -U pyrule34
or
git clone https://github.com/Hypick122/pyrule34.git
- Install the required Python packages:
pip install -U aiohttp, beautifulsoup4, lxml
- Create a .py file and import the required libraries:
import asyncio
from pyrule34 import AsyncRule34
AsyncRule34 can be used as a context manager:
```python
#example
async def main():
async with AsyncRule34() as r34:
get_posts = await r34.get_posts(4931536)
print(get_posts[0].tags)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Search for posts using specified inclusion and exclusion tags.
Returns a list.
Parameters:
tags
- The include tagsexclude_tags
- The exclude tags (default: None)limit
- The (maximum) limit to get posts. Maximum 1000 per one request (default: 100)page_id
- The page number (default: 0)
search = await r34.search(tags=["neko"], exclude_tags=["rating:general"], page_id=2, limit=1)
Retrieve post(s) by ID or MD5 hash.
Returns a list.
Parameters:
posts_id
: The list of IDs posts or post IDmd5
: The MD5 hash of the post (default: None)
get_posts = await r34.get_posts(4931536)
Get comments by post ID.
Returns a list.
Parameters:
post_id
: The ID of the post
get_post_comments = await r34.get_post_comments(4153825)
Get a random post.
Returns a dict.
get_random_post = await r34.get_random_post()
Get Pool by ID.
Returns a list.
Parameters:
cid
: Pool IDoffset
: offset (default: 0) | 1 page - 45
get_pool = await r34.get_pool(29619)
Get user's favorites by ID.
Returns a list.
Parameters:
user_id
: user IDoffset
: offset (default: 0) | 1 page - 50
favorite = await r34.users.favorites(2993217)
Get the top 100 characters or tags.
Returns a list.
top_character = await r34.top_characters()
top_tags = await r34.top_tags()
Get the top 10 best users by tags, comments, etc.
Returns a list.
taggers = await r34.stats.taggers()
favorites = await r34.stats.favorites()
commenters = await r34.stats.commenters()
forum_posters = await r34.stats.forum_posters()
image_posters = await r34.stats.image_posters()
note_editors = await r34.stats.note_editors()