Problem beim Extrahieren von Elementen aus der Tabelle
Dec 02 2020
Hallo, ich brauche einen Rat, wie ich mit meinem Problem umgehen kann. Die Sache ist also, ich möchte Informationen aus der angegebenen Tabelle streichen und diese als singuläre Elemente in die Liste aufnehmen.
from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
site = "http://www.voltwo.webd.pl/1-indexy/index-5-opracowania/01-maturalne-KINEMATYKA.html"
hdr = {'User-Agent': 'Mozilla/5.0'}
req = Request(site, headers=hdr)
page = urlopen(req)
soup = BeautifulSoup(page, features="html5lib")
table = soup.findAll('td')
data = [i.find('tr') for i in table if i.find('tr') and 'text']
print(data)
Antworten
baduker Dec 02 2020 at 23:14
Wie wäre es mit der Verwendung, pandas
da es sich um tabellarische Daten handelt, mit denen Sie sich befassen?
Zum Beispiel:
import pandas as pd
import requests
from bs4 import BeautifulSoup
url = "http://www.voltwo.webd.pl/1-indexy/index-5-opracowania/01-maturalne-KINEMATYKA.html"
soup = BeautifulSoup(requests.get(url).content, "html.parser").find("table")
df = pd.read_html(str(soup), skiprows=[0, 1, 2, 3, 4, 5])
df = pd.concat(df).drop([7, 8], axis="columns")
columns = ["Lp", "Rok", "Forma", "Poziom", "Typ zadania", "Strona", "Zadanie"]
df.to_csv("table.csv", index=False, header=columns, encoding="utf-8")
Ausgabe:
