Spaces:
Sleeping
Sleeping
import os | |
import gradio as gr | |
import requests | |
Rapid_API = os.getenv("rapidAPIkey") | |
def get_hashtags(keyword): | |
url = "https://hashtagy-generate-hashtags.p.rapidapi.com/v1/comprehensive/tags" | |
headers = { | |
"X-RapidAPI-Key": Rapid_API, | |
"X-RapidAPI-Host": "hashtagy-generate-hashtags.p.rapidapi.com" | |
} | |
response = requests.get(url, headers=headers, params={"keyword": keyword}) | |
response_json = response.json() | |
data = response_json['data'] | |
hashtags = data['best_30_hashtags']['hashtags'] | |
return ', '.join(hashtags) | |
def get_post_count(tag): | |
url = "https://hashtag5.p.rapidapi.com/api/v2.1/tag/count" | |
headers = { | |
"X-RapidAPI-Key": Rapid_API, | |
"X-RapidAPI-Host": "hashtag5.p.rapidapi.com" | |
} | |
response = requests.get(url, headers=headers, params={"tag": tag}) | |
response_json = response.json() | |
print(response.json()) | |
count = response_json['count'] | |
return count | |
def search_hashtags(keyword, get_count): | |
hashtags = get_hashtags(keyword) | |
if get_count: | |
# Assume the first hashtag is the most relevant one for count | |
first_hashtag = hashtags.split(',')[0].strip() | |
count = get_post_count(first_hashtag) | |
return hashtags, f"The post count for {first_hashtag} is {count}" | |
else: | |
return hashtags, None | |
iface = gr.Interface(fn=search_hashtags, | |
inputs=["text", gr.inputs.Checkbox(label="Get post count for first hashtag")], | |
outputs=["text", "text"], | |
title="Hashtag Search", | |
description="Search for hashtags and optionally get the post count for the first hashtag") | |
iface.launch() |