GithubHelp home page GithubHelp logo

ph-api's Introduction

PornHub Unofficial API

Unofficial API for pornhub.com in Python

Pull requests are welcome!!!

I find it quite difficult to make time for an active development on this project, so I will be more than happy to merge your pull requests. Thank you all for supporting this project!

Install

pip3 install pornhubapi

How to use

Create client

import pornhub
client = pornhub.PornHub()

Create client with proxy

import pornhub
# With proxy, given a Proxy IP and Port. For the countries with restricted access like Turkey, etc.
client = pornhub.PornHub("5.135.164.72", 3128)

Grab stars

The request can be sorted by: view, trend, subs, alpha, videos, random

for star in client.getStars(10, sort_by="view"):
    print(star)
    print(star["name"])

Create client with search keywords

keywords = ["word1", "word2"]
client = pornhub.PornHub(keywords)

# if using a proxy
client = pornhub.PornHub(keywords, "5.135.164.72", 3128)
# or
client = pornhub.PornHub(ProxyIP="5.135.164.72", ProxyPort=3128, keywords=["word1", "word2"])

for video in client.getVideos(10, page=2):
    print(video)
    print(video["url"])

Sort Video by parameter

When keywords are set: view, rate, long, recent

keywords = ["word1", "word2"]
client = pornhub.PornHub(keywords)

for video in client.getVideos(10, page=2, sort_by="long"):
    print(video)
    print(video["url"])

When keywords are not set: view, rate, long, new, hot

client = pornhub.PornHub()

for video in client.getVideos(10, page=2, sort_by="hot"):
    print(video)
    print(video["url"])

Take full information about all videos

Parameter full_data allows you to get complete information about the video, but its much more slower due to every page needs to be opened

keywords = ["word1", "word2"]
client = pornhub.PornHub(keywords)

for video in client.getVideos(10, page=2, full_data=True):
  print(video)
  print(video["upload_date"])

Get more information about the single video

Method getVideo(url, viewkey) gives more detail information about a single video

client = pornhub.PornHub()

# You can input the full video url, like that
video = client.getVideo("https://www.pornhub.com/view_video.php?viewkey=SOMEKEY")
# Or that
video = client.getVideo(url="https://www.pornhub.com/view_video.php?viewkey=SOMEKEY")
# Or input only viewkey, like that
video = client.getVideo(viewkey="SOMEKEY")

print(video)
print(video["title"])

The method return a dictionary with keywords:

  1. title (type: string) - Video title
  2. views (type: string) - Rounded number of views, for example "2M"
  3. accurate_views (type: integer) - Full number of views, for example "123456789". When video don't have many views views=accurate_views
  4. rating (type: integer) - Video rating in percent
  5. duration (type: string) - Video duration in format "hh:mm:ss"
  6. loaded (type: string) - When the video was uploaded, for example "2 months ago"
  7. upload_date (type: string) - Video upload date in format "yyyy-mm-dd"
  8. likes (type: string) - Similar like views
  9. accurate_likes (type: integer) - Similar like accurate_views
  10. dislikes (type: string) - Similar like views
  11. accurate_dislikes (type: integer) - Similar like accurate_views
  12. favorite (type: string) - How many times added to favorites, rounded. For example "2K"
  13. author (type: string) - Video author (channel)
  14. pornstars (type: list) - Video stars
  15. categories (type: list) - Video categories
  16. tags (type: list) - Video tags
  17. production (type: string) - Video production (Professional or Homemade)
  18. url (type: string) - URL to Video
  19. img_url (type: string) - URL to Preview Image of Video
  20. embed_url (type: string) - URL to Video Player

If the video is not available in your country, in title will "Video not available in your country", in others keys will None

Contributors


SashaSZ


Ibrahim Ipek


Kittinan


Елизаров Роман Русланович


IThinkImOKAY

License

MIT license

ph-api's People

Contributors

sashasz avatar sskender avatar kittinan avatar formerlychucks avatar notabene01 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.