Unofficial API for pornhub.com in Python
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!
pip3 install pornhubapiimport pornhub
client = pornhub.PornHub()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)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"])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"])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"])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"])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:
title(type: string) - Video titleviews(type: string) - Rounded number of views, for example "2M"accurate_views(type: integer) - Full number of views, for example "123456789". When video don't have many viewsviews=accurate_viewsrating(type: integer) - Video rating in percentduration(type: string) - Video duration in format "hh:mm:ss"loaded(type: string) - When the video was uploaded, for example "2 months ago"upload_date(type: string) - Video upload date in format "yyyy-mm-dd"likes(type: string) - Similar likeviewsaccurate_likes(type: integer) - Similar likeaccurate_viewsdislikes(type: string) - Similar likeviewsaccurate_dislikes(type: integer) - Similar likeaccurate_viewsfavorite(type: string) - How many times added to favorites, rounded. For example "2K"author(type: string) - Video author (channel)pornstars(type: list) - Video starscategories(type: list) - Video categoriestags(type: list) - Video tagsproduction(type: string) - Video production (Professional or Homemade)url(type: string) - URL to Videoimg_url(type: string) - URL to Preview Image of Videoembed_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
SashaSZ |
Ibrahim Ipek |
Kittinan |
Елизаров Роман Русланович |
IThinkImOKAY |
MIT license