Masalah dengan mengekstraksi elemen dari tabel
Dec 02 2020
Halo, saya butuh nasihat bagaimana menangani masalah saya. Jadi masalahnya, saya ingin membuang informasi dari tabel yang diberikan, dan menambahkan sengatan itu ke dalam daftar sebagai elemen tunggal.
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)
Jawaban
baduker Dec 02 2020 at 23:14
Bagaimana kalau menggunakan pandas
karena ini adalah data tabel yang Anda hadapi?
Sebagai contoh:
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")
Keluaran:

Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'