Update lordchannel.py
Added support for lordchannel API
This commit is contained in:
+34
-12
@@ -8,15 +8,40 @@ from convert import get_TMDb_id_from_IMDb_id
|
|||||||
from info import get_info_tmdb, is_movie, get_info_imdb
|
from info import get_info_tmdb, is_movie, get_info_imdb
|
||||||
import config
|
import config
|
||||||
import re
|
import re
|
||||||
|
import json
|
||||||
LC_DOMAIN = config.LC_DOMAIN
|
LC_DOMAIN = config.LC_DOMAIN
|
||||||
def search(query,date,season,episode,ismovie):
|
def search(showname,date,season,episode,ismovie):
|
||||||
response = requests.get(query)
|
cookies = {
|
||||||
soup = BeautifulSoup(response.text,"lxml")
|
'csrftoken': '7lvc502CZe8Zbx7iSX1xkZOBA1NbDxJZ',
|
||||||
cards = soup.find_all('div', class_='col-6 col-sm-4 col-lg-3 col-xl-3')
|
}
|
||||||
for card in cards:
|
|
||||||
a_tag = card.find('a', class_='card__play')
|
headers = {
|
||||||
if a_tag is not None: # check if the a_tag exists
|
'authority': 'lordchannel.com',
|
||||||
href = a_tag['href']
|
'accept': '*/*',
|
||||||
|
'accept-language': 'it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7',
|
||||||
|
# 'cookie': 'csrftoken=7lvc502CZe8Zbx7iSX1xkZOBA1NbDxJZ',
|
||||||
|
'referer': 'https://lordchannel.com/anime/anime-ita/',
|
||||||
|
'sec-ch-ua': '"Not-A.Brand";v="99", "Chromium";v="124"',
|
||||||
|
'sec-ch-ua-mobile': '?0',
|
||||||
|
'sec-ch-ua-platform': '"Android"',
|
||||||
|
'sec-fetch-dest': 'empty',
|
||||||
|
'sec-fetch-mode': 'cors',
|
||||||
|
'sec-fetch-site': 'same-origin',
|
||||||
|
'user-agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
|
||||||
|
'x-requested-with': 'XMLHttpRequest',
|
||||||
|
}
|
||||||
|
|
||||||
|
params = {
|
||||||
|
'media': showname,
|
||||||
|
'_': '1724421723999',
|
||||||
|
}
|
||||||
|
|
||||||
|
response = requests.get('https://lordchannel.com/live_search/', params=params, cookies=cookies, headers=headers)
|
||||||
|
data = json.loads(response.text)
|
||||||
|
for entry in data['data']:
|
||||||
|
if entry is not None: # check if the a_tag exists
|
||||||
|
href = entry['url']
|
||||||
|
quality = entry['qualit\u00e0_video']
|
||||||
link = f'https://lordchannel.{LC_DOMAIN}{href}'
|
link = f'https://lordchannel.{LC_DOMAIN}{href}'
|
||||||
response = requests.get(link)
|
response = requests.get(link)
|
||||||
soup2 = BeautifulSoup(response.text,'lxml')
|
soup2 = BeautifulSoup(response.text,'lxml')
|
||||||
@@ -24,7 +49,6 @@ def search(query,date,season,episode,ismovie):
|
|||||||
if li_tag is not None: # check if the li_tag exists
|
if li_tag is not None: # check if the li_tag exists
|
||||||
card_date = li_tag.text[-4:]
|
card_date = li_tag.text[-4:]
|
||||||
if card_date == date:
|
if card_date == date:
|
||||||
quality = soup2.select('ul.card__list li')[0].text
|
|
||||||
if ismovie == 1:
|
if ismovie == 1:
|
||||||
video_url = soup2.find('a', class_="btn-streaming streaming_btn")
|
video_url = soup2.find('a', class_="btn-streaming streaming_btn")
|
||||||
video_url = video_url['href']
|
video_url = video_url['href']
|
||||||
@@ -70,9 +94,7 @@ def lordchannel(imdb):
|
|||||||
else:
|
else:
|
||||||
tmdba = imdb_id
|
tmdba = imdb_id
|
||||||
showname,date = get_info_tmdb(tmdba,ismovie,type)
|
showname,date = get_info_tmdb(tmdba,ismovie,type)
|
||||||
showname = showname.replace(" ", "+").replace("–", "+").replace("—","+")
|
video_url,quality = search(showname,date,season,episode,ismovie)
|
||||||
query = f'https://lordchannel.{LC_DOMAIN}/cerca/?q={showname}'
|
|
||||||
video_url,quality = search(query,date,season,episode,ismovie)
|
|
||||||
url = get_m3u8(video_url)
|
url = get_m3u8(video_url)
|
||||||
url = url.replace('"','')
|
url = url.replace('"','')
|
||||||
print(url)
|
print(url)
|
||||||
|
|||||||
Reference in New Issue
Block a user