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 } 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"] } elements.append(json) request = requests.post(API_URL, json = elements) if (request.status_code != 200): print("Не удалось отправить запрос на сервер: " + str(request.status_code) + " " + request.text)