123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- from bs4 import BeautifulSoup
- import requests
- from typing import List
- import os
- def search_series(serie_name: str) -> List[str]:
- base_url = "https://iptorrents.com/"
- search_url = f"{base_url}search.php?cat=0search={serie_name}"
- response = requests.get(search_url)
- response.raise_for_status()
- soup = BeautifulSoup(response.content, 'html.parser')
- results = soup.find_all('a', {'class': 'site-main'})
- torrents = []
- for result in results:
- link = result['href']
- if link.startswith('torrents'):
- torrents.append(f"{base_url}{link}")
- return torrents
- def download_torrent(url: str, file_name: str) -> None:
- response = requests.get(url)
- with open(file_name, 'wb') as f:
- f.write(response.content)
- def main() -> None:
- serie_name = input("Name serie: ")
- torrents = search_series(serie_name)
- if len(torrents) <= 0:
- return
- for idx, torrent in enumerate(torrents):
- print(f"{idx+1}. {torrent}")
- choice = int(input("Qual serie? "))
- if 0 <= choice < len(torrents):
- torrent_url = torrents[choice]
- torrent_name = f"{os.path.basename(torrent_url)}.torrent"
- download_torrent(torrent_url, torrent_name)
- print(f"downloaded torrent {torrent_name}")
- else:
- print("Escolha invalida")
- if __name__ == '__main__':
- main()
|