67 lines
2.6 KiB
Python
67 lines
2.6 KiB
Python
import requests, json, os
|
||
from bs4 import BeautifulSoup
|
||
from datetime import date
|
||
|
||
# Config
|
||
|
||
API_URL = os.environ.get('API_URL', 'https://address.ru/v1/parser/UpdateFilms')
|
||
|
||
if API_URL == 'API_URL':
|
||
print("API_URL is not set")
|
||
exit()
|
||
|
||
elements = []
|
||
|
||
req = requests.get("https://www.kinoneo.ru/schedule")
|
||
|
||
if (req.status_code != 200):
|
||
print("Отвал кинонео: " + str(req.status_code) + " " + req.text)
|
||
else:
|
||
soup = BeautifulSoup(req.content, "html.parser")
|
||
for tag in soup.find_all("div", {"class": "schedule-row"}):
|
||
if (tag.text.find("ПУШКИНСКАЯ КАРТА") != -1):
|
||
# print(tag.find("span", class_="title-xs"))
|
||
genre = " ".join(tag.find_all("span")[1].text.replace(' ', "").replace('\n', '').split())
|
||
title = tag.find("span", class_="title-xs")
|
||
url = "https://www.kinoneo.ru" + title.parent.get('href')
|
||
imamgeurl = "https://www.kinoneo.ru" + tag.find("img").get('src')
|
||
jsonout = {
|
||
"city": "Таганрог",
|
||
"cinema": "КиноНЕО",
|
||
"filmName": title.text,
|
||
"genre": genre,
|
||
"url": url,
|
||
"imageUrl": imamgeurl
|
||
}
|
||
print("КиноНЕО | Найден фильм: " + title.text)
|
||
elements.append(jsonout)
|
||
|
||
headers = {"X-Platform": "widget", "X-Application-Token": "KMwvMv7qwz4IVNMu48cTot3PBNnYrifO"}
|
||
curDate = date.today().strftime("%Y-%m-%d")
|
||
req = requests.get("https://kinokassa.kinoplan24.ru/api/v2/release/playbill?city_id=51&date=" + curDate, headers=headers)
|
||
if (req.status_code != 200):
|
||
print("Отвал Чарли: " + str(req.status_code) + " " + req.text)
|
||
else:
|
||
releases = json.loads(req.text)["releases"]
|
||
for release in releases:
|
||
if ("pro_culture" in release["all_qualifiers"]):
|
||
genres = ""
|
||
for g in release["genres"]:
|
||
genres += g["title"] + " "
|
||
json = {
|
||
"city": "Таганрог",
|
||
"cinema": "Чарли",
|
||
"filmName": release["title"],
|
||
"genre": genres,
|
||
"url": "https://kinocharly.ru/51/release/" + str(release["id"]) + "?date=" + curDate,
|
||
"imageUrl": release["poster"]
|
||
}
|
||
print("Чарли | Найден фильм: " + release["title"])
|
||
elements.append(json)
|
||
|
||
request = requests.post(API_URL, json = elements)
|
||
|
||
if (request.status_code != 200):
|
||
print("Не удалось отправить запрос на сервер: " + str(request.status_code) + " " + request.text)
|
||
|