Skip to main content

A comprehensive, realiable API client for weheartit.

Project description

PyPI version PyPI license PRs Welcome GitHub issues Downloads Top Language Open Source Love png1

weheartpy

A fast, reliable API client for WeHeartIt.

weheartpy

Description

weheartpy is an unofficial API client for weheartit

WeHeartIt does not have an API. So I have to make use of BeautifulSoup and requests to do my job. The speed is optimal, it has a limitation on number of results you can retreive through one search but its functional.

Requirements

  • requires Python 3.10 or greater.
  • read the requirements here

you can easily install the packages using pip

Installation

pip install weheartpy

or

pip install git+https://github.com/aswinnnn/weheartpy.git

Features

with weheartpy, you can search for:

  • posts aka entries
  • collections (including images inside them)
  • users
  • popular entries

I'm adding more functionalities and utilities later on, but this is all we got for now.

Usage

this is the most basic usage of the weheartpy module.

# import the main class
from weheartpy import WeHeartIt

whi = WeHeartIt() # create an instance of WeHeartIt

entries = whi.popular() # returns a list of recent popular images from homepage.

for entry in entries:
	print(entry.image, entry.views, entry.creator.username) # view the entry's contents
	print(entry.hearts, entry.title)

	entry.save("\images\cool_pic_from_weheartit.jpeg") # save the image from the post locally.
  • parameters - None

  • returns - List[Entry] a list of Entry objects which help you access the entries easier.

  • errors - ConnectionError

Posts / Entries

search for entries.

entries = whi.search_entries("mean girls", sort="most_popular")
# returns a list of entries relevant to your query.

for entry in entries:
	print(entry.username, entry.image, entry.url)
  • parameters - query - your search query

  • returns - List[Entry] a list of Entry objects which help you access the entries easier.

  • errors - ConnectionError

Collections

# return a list of `Collection` objects resulting from the query.

from weheartpy import WeHeartIt

whi = WeHeartIt()

cocs = whi.search_collections("anime pfp")
for c in cocs:
    print(c.title, c.link)
    collection = c.get_full_collection()
    print(collection.images, collection.description)

	# save the images from a collection to a folder:
	collection.save("\collection\")
	# images will be saved as "collection0.jpeg", "collection1.jpeg", etc.
	
  • parameters - query aka the search term
  • returns - List[Collection] Check out the documentation to see what else you can do with Collection objects.
  • errors - NoCollectionsFound

Documentation

  • check out the documentation for more usages.
  • If you'd like to add something or fix mistakes, feel free to open an issue or a pull request.

Updates

  • v0.2.3 - using user-agent has been made default. Fixed major bug in search_entries so you might wanna update to this version to use that correctly.
  • v0.2.2 - Big update, the library uses weheartit's natural API to bring Entry data.
    • this features a whole new ton of information you can use from entries such as a views, hearts, tags, titles and creation dates.
    • It also includes a .creator attribute which is a User object of the creator of the post.
    • If you notice anything slow, its the API calls to weheartit.com. The IO time can be a pain if you have slow internet, nothing I can fix on my side.
  • v0.2.1 - Implement save feature, lets users save images locally.

Disclaimer

  • Since this makeshift API client's some modules rely on the websites elements to remain unchanged, expect this package to break easily.
  • This package, code or software is made for educational purposes and does not intend to break any ToS of weheartit.com. The creator/maintainer of this package will not be responsible for any actions done using the code. Use with your own caution and volition.

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

weheartpy-0.2.4.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

weheartpy-0.2.4-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file weheartpy-0.2.4.tar.gz.

File metadata

  • Download URL: weheartpy-0.2.4.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for weheartpy-0.2.4.tar.gz
Algorithm Hash digest
SHA256 3c7537b1d64d243c2ae8ab23dc6be4bbe60ba1659be173c0db36910f5c5c9a35
MD5 c6e63c03f052e02e948be55cb16359ca
BLAKE2b-256 c4ac64a33fb26c3da93e39f4abb89f470ba048a9d6131f1d13a965acff38cf5a

See more details on using hashes here.

File details

Details for the file weheartpy-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: weheartpy-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for weheartpy-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 001bb0b703368d0add028fcba688358def083e85d3b7cefe0a25131cd070c80b
MD5 4addea0547389623ffd18e8db0ef5253
BLAKE2b-256 f43f10147693516ea8acbbb35447fffe56db6a89270250bb3587795f001f4a97

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