eduboom / eduboom.py
Mythus's picture
Upload 5 files
a20d046 verified
import requests
import json
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:127.0) Gecko/20100101 Firefox/127.0',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Language': 'en-US,en;q=0.5',
# 'Accept-Encoding': 'gzip, deflate, br, zstd',
'X-Requested-With': 'XMLHttpRequest',
'DNT': '1',
'Sec-GPC': '1',
'Connection': 'keep-alive',
'Referer': 'https://eduboom.it/',
# 'Cookie': 'PHPSESSID=ibmi18fulfuhve42sq49tbkkme',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'Pragma': 'no-cache',
'Cache-Control': 'no-cache',
# Requests doesn't support trailers
# 'TE': 'trailers',
}
def get_m3u8(temp_url):
response = requests.get(temp_url, headers=headers)
soup = BeautifulSoup(response.text, 'lxml')
data_params = soup.find('div', class_='ucha-player play-button')['data-params']
real_data = json.loads(data_params)
m3u8_link = real_data['sources']['main']['smil']
if "smil:trailer" in m3u8_link:
m3u8_link = m3u8_link.replace("smil:trailers","smil:videos").replace("/registration","")
print("Found .m3u8 link:", m3u8_link)
return m3u8_link
def eduboom(query):
try:
params = {
'term': query,
}
response = requests.get('https://eduboom.it/ajax/lessons-search', params=params, headers=headers)
data = response.json()
i = 0
for item in data:
i = i + 1
name = item['value']
category = item['category']
grade = item['grade']
print("ID:",i,"Name:",name,"Category:",category,"Grade:",grade)
user_input = int(input("Enter the id of the video you want to watch: "))
selected_item = data[user_input-1]
link = selected_item['url']
m3u8_link = get_m3u8(link)
return m3u8_link
except Exception as e:
print("Nothing",e)
return None
a = eduboom("Parini")