diff --git a/core/uztracker_scraper.py b/core/uztracker_scraper.py index 8cd04ed..b20b83f 100644 --- a/core/uztracker_scraper.py +++ b/core/uztracker_scraper.py @@ -1,10 +1,34 @@ import requests from bs4 import BeautifulSoup -url = "https://uztracker.net/viewtopic.php?t=23897" # placeholder url for now +search = input("Enter the name of the program you want to search for: ") +url = "https://uztracker.net/tracker.php?nm=" # placeholder url for now response = requests.get(url) # get da content from da url soup = BeautifulSoup(response.content, 'html.parser') # create bs object +def scrape_uztracker(): + search_url = url + search + print(search_url) + try: + response = requests.get(search_url) + response.raise_for_status() + soup = BeautifulSoup(response.text, 'html.parser') + links = soup.find_all('a') + found_links = False + for link in links: + if link.has_attr('href'): + href = link['href'] + post_url = f"https:{href}" if isinstance(href, str) and href.startswith("//") else href + if isinstance(post_url, str) and post_url.startswith("https://uztracker.net/viewtopic.php?t="): # please figure out why this .startswith filter is not working + print(f"Found post link: {post_url}") + found_links = True + if not found_links: + print(f"No post link found on {search_url}") + return soup + except requests.RequestException as e: + print(f"Failed to fetch {search_url}: {e}") + return None + def get_post_title(): maintitle = soup.find(class_='tt-text') if maintitle: @@ -26,7 +50,10 @@ def get_magnet_link(): # and - if x exists, THEN check the next part # x.startswith('magnet:') - does x start with "magnet:"? +if __name__ == "__main__": + soup = scrape_uztracker() + if response.status_code == 200: get_post_title() get_magnet_link() - \ No newline at end of file +