Shorts: @baodantri7941 + @baosuckhoedoisongboyte, timeout 30s, --no-check-certificates, sorted newest
Browse files
main.py
CHANGED
|
@@ -164,7 +164,7 @@ def extract_xemlaibongda_video(url):
|
|
| 164 |
# ===== YOUTUBE SHORTS =====
|
| 165 |
def _yt_channel_shorts(channel, count=15):
|
| 166 |
try:
|
| 167 |
-
result=subprocess.run(["yt-dlp","--flat-playlist","--dump-json","--no-download","--playlist-end",str(count),f"https://www.youtube.com/@{channel}/shorts"],capture_output=True,text=True,timeout=
|
| 168 |
videos=[]
|
| 169 |
for line in result.stdout.strip().split('\n'):
|
| 170 |
if not line:continue
|
|
@@ -176,14 +176,14 @@ def _yt_channel_shorts(channel, count=15):
|
|
| 176 |
return videos
|
| 177 |
except:return[]
|
| 178 |
def scrape_shorts():
|
| 179 |
-
"""Fetch shorts from @baodantri7941
|
| 180 |
vids=[]
|
| 181 |
-
for ch in ["baodantri7941","
|
| 182 |
try:
|
| 183 |
-
r=_yt_channel_shorts(ch,
|
| 184 |
if r:vids.extend(r)
|
| 185 |
except:pass
|
| 186 |
-
|
| 187 |
return vids[:20]
|
| 188 |
|
| 189 |
# ===== LIVESCORE =====
|
|
|
|
| 164 |
# ===== YOUTUBE SHORTS =====
|
| 165 |
def _yt_channel_shorts(channel, count=15):
|
| 166 |
try:
|
| 167 |
+
result=subprocess.run(["yt-dlp","--no-check-certificates","--flat-playlist","--dump-json","--no-download","--playlist-end",str(count),f"https://www.youtube.com/@{channel}/shorts"],capture_output=True,text=True,timeout=30)
|
| 168 |
videos=[]
|
| 169 |
for line in result.stdout.strip().split('\n'):
|
| 170 |
if not line:continue
|
|
|
|
| 176 |
return videos
|
| 177 |
except:return[]
|
| 178 |
def scrape_shorts():
|
| 179 |
+
"""Fetch shorts from @baodantri7941 + @baosuckhoedoisongboyte, newest first"""
|
| 180 |
vids=[]
|
| 181 |
+
for ch in ["baodantri7941","baosuckhoedoisongboyte"]:
|
| 182 |
try:
|
| 183 |
+
r=_yt_channel_shorts(ch,12)
|
| 184 |
if r:vids.extend(r)
|
| 185 |
except:pass
|
| 186 |
+
vids.sort(key=lambda x:x.get("id",""),reverse=True)
|
| 187 |
return vids[:20]
|
| 188 |
|
| 189 |
# ===== LIVESCORE =====
|