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, pandasda 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: