Made it more efficent

This commit is contained in:
UrloMythus
2024-07-08 15:13:00 +02:00 Unverified
parent 7a20e512a0
commit 9c7eb1da4d
2 changed files with 15 additions and 33 deletions
Binary file not shown.
+14 -32
View File
@@ -85,22 +85,11 @@ def get_mamma(tmbda,ismovie):
return showname,date return showname,date
def search(query,date): def search(query,date):
response = requests.get(query) response = requests.get(query).json()
soup = BeautifulSoup(response.text, 'lxml') for json in response:
test= soup.find('div', class_='elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid') link = json['link']
# Find all articles tid = json['id']
articles = test.select('article', class_='elementor-post elementor-grid-item post-629565') series_response = requests.get(link, headers=headers)
# Loop through each article
for article in articles:
# Find the link inside the article
link = article.find('a', class_='elementor-post__thumbnail__link')
# Extract the href attribute from the link
href = link['href']
#replace base url for easier scraping
#Get the correct serie by checking if the date is equals
series_response = requests.get(href, headers=headers)
series_soup = BeautifulSoup(series_response.text, 'lxml') series_soup = BeautifulSoup(series_response.text, 'lxml')
release_span = series_soup.find('span', class_='released') release_span = series_soup.find('span', class_='released')
if release_span: if release_span:
@@ -113,19 +102,12 @@ def search(query,date):
release_date = dateparser.parse(date_string, languages=['it']).strftime("%Y-%m-%d") release_date = dateparser.parse(date_string, languages=['it']).strftime("%Y-%m-%d")
print(release_date) print(release_date)
if release_date == date: if release_date == date:
url = href url = link
tid = tid
break break
return url return url, tid
def get_episode_link(season,episode,url): def get_episode_link(season,episode,tid,url):
response = requests.get(url)
# Extract the 'link' field from the headers
link_field = response.headers.get('Link')
links = link_field.split(',')
links = [link.split(';')[0].strip('<>') for link in links]
second_link = links[2]
#Get the ID of the serie (not tmbd or imbd)
tid = second_link.split("=")[1]
episode = int(episode) episode = int(episode)
season = int(season) season = int(season)
tlink = f'{url}?show_video=true&post_id={tid}&season_id={season-1}&episode_id={episode-1}' tlink = f'{url}?show_video=true&post_id={tid}&season_id={season-1}&episode_id={episode-1}'
@@ -172,15 +154,14 @@ def get_stream_link(imbd):
else: else:
tmdba,ismovie = info tmdba,ismovie = info
showname,date = get_mamma(tmdba,ismovie) showname,date = get_mamma(tmdba,ismovie)
showname = showname.replace(" ", "+").replace("–", "+").replace("—","+")
query = f'https://filmpertutti.{DOMAIN}/?s=+{showname}' query = f'https://filmpertutti.{DOMAIN}/wp-json/wp/v2/posts?search={showname}&page=1&_fields=link,id'
query = query.replace(" ", "+").replace("–", "+").replace("—","+")
print(query) print(query)
url = search(query,date) url,tid = search(query,date)
print(ismovie) print(ismovie)
print(url) print(url)
if ismovie == 0: if ismovie == 0:
episode_link = get_episode_link(season,episode,url) episode_link = get_episode_link(season,episode,tid,url)
print(episode_link) print(episode_link)
#Let's get mixdrop link #Let's get mixdrop link
real_link = get_real_link(episode_link) real_link = get_real_link(episode_link)
@@ -195,3 +176,4 @@ def get_stream_link(imbd):
#let's get delivery link, streaming link #let's get delivery link, streaming link
streaming_link = get_true_link(real_link) streaming_link = get_true_link(real_link)
return streaming_link return streaming_link