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)
|
|
|