Ich möchte den Inhalt einer Webseite angezeigt bekommen, dabei habe ich folgendes Plugin gebastelt:
Alles anzeigen
Dabei treten 2 Probleme auf.
Proplem 1: es dauert sehr lange bis er mit arbeiten fertig ist, geht das mit urllib2 schneller?
Problem2: der Text der mir ausgegeben wird, wird nicht wie man bei print sehen kann, formatiert ausgegeben.
Python-Quellcode
- from Screens.Screen import Screen
- from Components.Label import Label
- from Components.ActionMap import ActionMap
- from Plugins.Plugin import PluginDescriptor
- import requests
- from bs4 import BeautifulSoup
- class kicker_screen(Screen):
- skin = """<screen position="0,0" size="1920,1080" >
- <widget name="myLabel" position="0,0" size="1920,1080" font="Regular;40"/>
- </screen>"""
- def __init__(self, session):
- self.session = session
- Screen.__init__(self, session)
- self["myLabel"] = Label(self.tabelle())
- self["myActionMap"] = ActionMap(["SetupActions"],{"cancel": self.close})
- print(self.tabelle())
- def tabelle(self):
- url = "http://www.sportal.de/fussball/bundesliga/tabelle/tabelle-saison-2019-2020"
- response = requests.get(url)
- html = BeautifulSoup(response.content, 'html.parser')
- tabelle = html.find(class_="table_content")
- beschreibung = "{0:<4} {1:<22} {2:>4} {3:>4} {4:>4} {5:>4} {6:>7} {7:>4} {8:>4} ".format("Pl", "Verein", "Sp", "G", "UE", "V", "Tore", "Diff", "P") + "\n"
- liste = []
- text = beschreibung
- liste.append(beschreibung)
- for row in tabelle.find_all("ul"):
- meintext = [d.text.strip() for d in row.find_all("li")]
- text_fertig = ("{0:<4} {1:<22} {2:>4} {3:>4} {4:>4} {5:>4} {6:>7} {7:>4} {8:>4}".format(meintext[0],meintext[2],meintext[3],meintext[4],meintext[5],meintext[6],\
- meintext[7],meintext[8],meintext[9]) + "\n")
- text = text + text_fertig
- return text
Proplem 1: es dauert sehr lange bis er mit arbeiten fertig ist, geht das mit urllib2 schneller?
Problem2: der Text der mir ausgegeben wird, wird nicht wie man bei print sehen kann, formatiert ausgegeben.