import logging from typing import Optional import requests from bs4 import BeautifulSoup class Iqdb: @staticmethod def search(file: str) -> Optional[str]: logging.info('Searching %s', file) files = {'file': open(file, 'rb')} resp = requests.post('https://iqdb.org/', files=files, timeout=10) doc = BeautifulSoup(resp.text, 'html.parser') for tag in doc.select(".image a"): url = tag.get("href") if "danbooru.donmai.us/posts" in url: if url.startswith("//"): url = "https:" + url return url return None