import pandas as pd import requests def extract_instagram_code(url: str) -> str: parts = [part for part in url.split('/') if part and '?' not in part] # The code is expected to be the part after 'p' or 'reel' for key in ['p', 'reel']: if key in parts: code_index = parts.index(key) + 1 if code_index < len(parts): return parts[code_index] return "Invalid URL or code not found" def get_users_from_keyword(keyword: str): import requests url = f"https://api.instagapi.com/searchuser/{keyword}" headers = { "X-InstagAPI-Key": "ec4fe09e395935a8df1a3228ead80655" } response = requests.get(url, headers=headers) data = [] for user in response.json()['data']: user = user['user'] data.append({ "username": user['username'], 'is_verified': user['is_verified'] }) df = pd.DataFrame(data) return df def get_comments(url: str): shortcode = extract_instagram_code(url) url = f"https://api.instagapi.com/postcomments/{shortcode}/" headers = { "X-InstagAPI-Key": "ec4fe09e395935a8df1a3228ead80655" } response = requests.get(url, headers=headers) data = [] for comment in response.json()['data']['comments']: data.append({ "username": comment['user']['username'], "comment_text": comment['text'], "user_is_verified": comment['user']['is_verified'], "user_is_private": comment['user']['is_private'], "comment_like_count": comment['comment_like_count'] # Assuming this is the correct key }) df = pd.DataFrame(data) return df