Skip to content

Commit fbd8090

Browse files
Arrowargithub-actions[bot]
authored andcommitted
[SITE] Remove "streamingwatch"
1 parent e47f786 commit fbd8090

File tree

12 files changed

+115
-691
lines changed

12 files changed

+115
-691
lines changed

.github/.domain/domains.json

Lines changed: 16 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"cb01new": {
3-
"domain": "blog",
4-
"full_url": "https://cb01net.blog/",
5-
"old_domain": "cfd",
6-
"time_change": "2025-11-24 16:24:47"
3+
"domain": "cyou",
4+
"full_url": "https://cb01net.cyou/",
5+
"old_domain": "blog",
6+
"time_change": "2025-12-02 07:23:05"
77
},
88
"animeunity": {
99
"domain": "so",
@@ -18,33 +18,21 @@
1818
"time_change": "2025-03-21 12:20:27"
1919
},
2020
"guardaserie": {
21-
"domain": "cfd",
22-
"full_url": "https://guardaserietv.cfd/",
23-
"old_domain": "wtf",
24-
"time_change": "2025-11-25 07:21:03"
25-
},
26-
"streamingwatch": {
27-
"domain": "org",
28-
"full_url": "https://www.streamingwatch.org/",
29-
"old_domain": "org",
30-
"time_change": "2025-04-29 12:30:30"
21+
"domain": "club",
22+
"full_url": "https://guardaserietv.club/",
23+
"old_domain": "cfd",
24+
"time_change": "2025-12-02 07:23:06"
3125
},
3226
"altadefinizione": {
33-
"domain": "lol",
34-
"full_url": "https://altadefinizionegratis.lol/",
35-
"old_domain": "shop",
36-
"time_change": "2025-11-25 07:21:04"
27+
"domain": "casa",
28+
"full_url": "https://altadefinizionegratis.casa/",
29+
"old_domain": "watch",
30+
"time_change": "2025-12-02 07:23:06"
3731
},
3832
"streamingcommunity": {
39-
"domain": "ltd",
40-
"full_url": "https://streamingcommunityz.ltd/",
41-
"old_domain": "lat",
42-
"time_change": "2025-11-28 07:21:14"
43-
},
44-
"altadefinizionegratis": {
45-
"domain": "lol",
46-
"full_url": "https://altadefinizionegratis.lol/",
47-
"old_domain": "shop",
48-
"time_change": "2025-11-25 07:21:06"
33+
"domain": "icu",
34+
"full_url": "https://streamingcommunityz.icu/",
35+
"old_domain": "ltd",
36+
"time_change": "2025-12-01 19:22:46"
4937
}
5038
}

StreamingCommunity/Api/Site/altadefinizione/site.py

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ def title_search(query: str) -> int:
4646
try:
4747
response = create_client(headers={'user-agent': get_userAgent()}).get(search_url)
4848
response.raise_for_status()
49-
5049
except Exception as e:
5150
console.print(f"[red]Site: {site_constant.SITE_NAME}, request search error: {e}")
5251
if site_constant.TELEGRAM_BOT:
@@ -57,28 +56,38 @@ def title_search(query: str) -> int:
5756
if site_constant.TELEGRAM_BOT:
5857
choices = []
5958

60-
# Create soup istance
59+
# Create soup instance
6160
soup = BeautifulSoup(response.text, "html.parser")
6261

63-
# Collect data from soup
64-
for i, movie_div in enumerate(soup.find_all("div", class_="movie")):
65-
66-
title_tag = movie_div.find("h2", class_="movie-title")
67-
title = title_tag.find("a").get_text(strip=True)
68-
url = title_tag.find("a").get("href")
69-
70-
# Define typo
71-
if "/serie-tv/" in url:
72-
tipo = "tv"
73-
else:
74-
tipo = "film"
75-
76-
media_search_manager.add_media({
62+
# Collect data from new structure
63+
boxes = soup.find("div", id="dle-content").find_all("div", class_="box")
64+
for i, box in enumerate(boxes):
65+
66+
title_tag = box.find("h2", class_="titleFilm")
67+
a_tag = title_tag.find("a")
68+
title = a_tag.get_text(strip=True)
69+
url = a_tag.get("href")
70+
71+
# Image
72+
img_tag = box.find("img", class_="attachment-loc-film")
73+
image_url = None
74+
if img_tag:
75+
img_src = img_tag.get("src")
76+
if img_src and img_src.startswith("/"):
77+
image_url = f"{site_constant.FULL_URL}{img_src}"
78+
else:
79+
image_url = img_src
80+
81+
# Type
82+
tipo = "tv" if "/serie-tv/" in url else "film"
83+
84+
media_dict = {
7785
'url': url,
7886
'name': title,
7987
'type': tipo,
80-
'image': f"{site_constant.FULL_URL}{movie_div.find('img', class_='layer-image').get('data-src')}"
81-
})
88+
'image': image_url
89+
}
90+
media_search_manager.add_media(media_dict)
8291

8392
if site_constant.TELEGRAM_BOT:
8493
choice_text = f"{i} - {title} ({tipo})"
@@ -87,6 +96,6 @@ def title_search(query: str) -> int:
8796
if site_constant.TELEGRAM_BOT:
8897
if choices:
8998
bot.send_message("Lista dei risultati:", choices)
90-
99+
91100
# Return the number of titles found
92101
return media_search_manager.get_length()

StreamingCommunity/Api/Site/altadefinizione/util/ScrapeSerie.py

Lines changed: 48 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -27,59 +27,70 @@ def __init__(self, url):
2727

2828
def collect_season(self) -> None:
2929
"""
30-
Retrieve all episodes for all seasons
30+
Retrieve all episodes for all seasons.
3131
"""
3232
response = create_client(headers=self.headers).get(self.url)
3333
soup = BeautifulSoup(response.text, "html.parser")
3434
self.series_name = soup.find("title").get_text(strip=True).split(" - ")[0]
3535

36-
# Find all season dropdowns
37-
seasons_dropdown = soup.find('div', class_='dropdown seasons')
38-
if not seasons_dropdown:
36+
tt_holder = soup.find('div', id='tt_holder')
37+
38+
# Find all seasons
39+
seasons_div = tt_holder.find('div', class_='tt_season')
40+
if not seasons_div:
3941
return
4042

41-
# Get all season items
42-
season_items = seasons_dropdown.find_all('span', {'data-season': True})
43-
44-
for season_item in season_items:
45-
season_num = int(season_item['data-season'])
46-
season_name = season_item.get_text(strip=True)
47-
43+
season_list_items = seasons_div.find_all('li')
44+
for season_li in season_list_items:
45+
season_anchor = season_li.find('a')
46+
if not season_anchor:
47+
continue
48+
49+
season_num = int(season_anchor.get_text(strip=True))
50+
season_name = f"Stagione {season_num}"
51+
4852
# Create a new season
4953
current_season = self.seasons_manager.add_season({
5054
'number': season_num,
5155
'name': season_name
5256
})
53-
54-
# Find all episodes for this season
55-
episodes_container = soup.find('div', {'class': 'dropdown mirrors', 'data-season': str(season_num)})
56-
if not episodes_container:
57-
continue
58-
59-
# Get all episode mirrors for this season
60-
episode_mirrors = soup.find_all('div', {'class': 'dropdown mirrors',
61-
'data-season': str(season_num)})
62-
63-
for mirror in episode_mirrors:
64-
episode_data = mirror.get('data-episode', '').split('-')
65-
if len(episode_data) != 2:
66-
continue
67-
68-
ep_num = int(episode_data[1])
69-
70-
# Find supervideo link
71-
supervideo_span = mirror.find('span', {'data-id': 'supervideo'})
72-
if not supervideo_span:
57+
58+
# Find episodes for this season
59+
tt_series_div = tt_holder.find('div', class_='tt_series')
60+
tab_content = tt_series_div.find('div', class_='tab-content')
61+
tab_pane = tab_content.find('div', id=f'season-{season_num}')
62+
63+
episode_list_items = tab_pane.find_all('li')
64+
for ep_li in episode_list_items:
65+
ep_anchor = ep_li.find('a', id=lambda x: x and x.startswith(f'serie-{season_num}_'))
66+
if not ep_anchor:
7367
continue
74-
75-
episode_url = supervideo_span.get('data-link', '')
76-
77-
# Add episode to the season
68+
69+
ep_num_str = ep_anchor.get('data-num', '')
70+
try:
71+
ep_num = int(ep_num_str.split('x')[1])
72+
except (IndexError, ValueError):
73+
ep_num = int(ep_anchor.get_text(strip=True))
74+
75+
ep_title = ep_anchor.get('data-title', '').strip()
76+
ep_url = ep_anchor.get('data-link', '').strip()
77+
78+
# Prefer supervideo link from mirrors if available
79+
mirrors_div = ep_li.find('div', class_='mirrors')
80+
supervideo_url = None
81+
if mirrors_div:
82+
supervideo_a = mirrors_div.find('a', class_='mr', text=lambda t: t and 'Supervideo' in t)
83+
if supervideo_a:
84+
supervideo_url = supervideo_a.get('data-link', '').strip()
85+
86+
if supervideo_url:
87+
ep_url = supervideo_url
88+
7889
if current_season:
7990
current_season.episodes.add({
8091
'number': ep_num,
81-
'name': f"Episodio {ep_num}",
82-
'url': episode_url
92+
'name': ep_title if ep_title else f"Episodio {ep_num}",
93+
'url': ep_url
8394
})
8495

8596

StreamingCommunity/Api/Site/crunchyroll/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424

2525
# Variable
26-
indice = 8
26+
indice = 7
2727
_useFor = "Anime"
2828
_priority = 0
2929
_engineDownload = "dash"

StreamingCommunity/Api/Site/dmax/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818

1919
# Variable
20-
indice = 10
20+
indice = 9
2121
_useFor = "Serie"
2222
_priority = 0
2323
_engineDownload = "hls"

StreamingCommunity/Api/Site/realtime/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919

2020
# Variable
21-
indice = 9
21+
indice = 8
2222
_useFor = "Serie"
2323
_priority = 0
2424
_engineDownload = "hls"

0 commit comments

Comments
 (0)