pornhub-api
pornhub-api copied to clipboard
pornhub Unofficial api
=============================== Unofficial api for pornhub.com
.. image:: https://travis-ci.org/derfirm/pornhub-api.svg?branch=master :target: https://travis-ci.org/derfirm/pornhub-api
.. image:: https://api.codacy.com/project/badge/Grade/72b5baaa2a7d438cbe725924954a62b2 :target: https://www.codacy.com/manual/Derfirm/pornhub-api
.. image:: https://img.shields.io/pypi/v/pornhub-api.svg :target: https://pypi.python.org/pypi/pornhub-api
Key Features
- response are fully-annotated with pydantic_
- rest without parsing
.. _pydantic: https://pydantic-docs.helpmanual.io/
Installing
.. code:: bash
$ pip install pornhub-api
or with aiohttp support
.. code:: bash
$ pip install pornhub-api[aiohttp_backend]
Supported versions
- Python 3.7+
Getting started
Initiate Api client
.. code-block:: python
from pornhub_api import PornhubApi
api = PornhubApi()
Initiate with AioHttp backend
.. code-block:: python
import asyncio
from pornhub_api.backends.aiohttp import AioHttpBackend
async def execute():
backend = AioHttpBackend()
api = PornhubApi(backend=backend)
response = await api.video.get_by_id("ph560b93077ddae")
print(response.video.title)
await backend.close()
asyncio.run(execute())
Search Videos
.. code-block:: python
data = api.search.search(
"chechick",
ordering="mostviewed",
period="weekly",
tags=["black"],
)
for vid in data.videos:
print(vid.title, vid.video_id)
Get Stars
.. code-block:: python
api.stars.all()
or
api.stats.all_detailed()
Get single Video details
.. code-block:: python
video = api.video.get_by_id("ph560b93077ddae").video print(video.title)
Get all videos tags or categories
.. code-block:: python
categories = api.video.categories() tags = api.video.tags("a")
Check Video availability
.. code-block:: python
response = api.video.is_active("ph560b93077ddae") print(response.active.is_active)
Search video by random tag and category
.. code-block:: python
import random
api = PornhubApi()
tags = random.sample(api.video.tags("f").tags, 5)
category = random.choice(api.video.categories().categories)
result = api.search.search(ordering="mostviewed", tags=tags, category=category)
print(result.size())
for vid in result.videos:
print(vid.title, vid.url)