1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
import urllib.request
import pydsb
from flask import Flask, jsonify, render_template, send_from_directory
from bs4 import BeautifulSoup
app = Flask(__name__)
@app.route("/api")
def get():
dsb = pydsb.PyDSB("~", "~")
dsb.login()
data = {
"Montag": [],
"Dienstag": [],
"Mittwoch": [],
"Donnerstag": [],
"Freitag": []
}
url = dsb.get_plans()[0]["url"]
contents = urllib.request.urlopen(url).read()
parsed = BeautifulSoup(contents, "lxml")
tables = parsed.find_all("table", {"class": "mon_list"})
for table in tables:
rows = table.find_all("tr")
for row in rows:
table_data = row.find_all("td")
if len(table_data) > 0:
if "TGM12/1" in table_data[0].b.text:
data[rows[1].b.text].append({
"Woche": table.parent.find("div", {"class": "mon_title"}).text[-1:],
"Stunde": table_data[1].b.text,
"Fach": table_data[2].text,
"Raum": table_data[3].text,
"Typ": table_data[4].text,
})
return jsonify(data)
|