Ich versuche, bestimmte Daten von dieser [Webseite] [1] zu nehmen und schließlich in eine eigene Tabelle zu legen, außer im Moment, ich will nur in der Lage zu bekommen die Daten, die ich zeigen möchte. Mit dem unten stehenden Code kann ich alle Teams mit dem Klassen-Team dazu bringen, selbst zu erscheinen, aber ich möchte sowohl "Team-Ungerade" als auch "Team-Ungerade" haben, wenn Team-Ungerade zuerst erscheint, dann Team-Gleich.Python Parsing HTML mit BeautifulSoup
Ich bin nur darauf konzentriert, die Namen für jetzt herauszunehmen. Jede Hilfe würde sehr geschätzt werden Ich habe versucht, den ganzen Tag herauszufinden, und es ziemlich knacken! Ich habe gerade begonnen, Python zu lernen und möchte nicht, dass du mir die Antwort gibst, sondern ziele einfach in die richtige Richtung.
Danke!
import bs4, requests
from bs4 import BeautifulSoup
# Scraping all data from website
url = 'http://www.scoresandodds.com/index.html'
response = requests.get(url)
html = response.content
# Taking content from above and searching through it find certain elements with certain attributes
soup = BeautifulSoup(html, "html.parser")
table = soup.find('tbody')
for row in table.findAll('tr', attrs={'class' : 'team even'}):
list_of_cells = []
for cell in row.findAll('td'):
text=cell.text.replace(' ', '')
list_of_cells.append(text)
print(list_of_cells)
Vielen Dank, was mich verwirrt ist die Zeile, Tabelle = supp.select_one ("# mlb"). Find_next ("Tabelle") Es macht Sinn, mit Ausnahme der find_next ('Tabelle'), dass sich bewegt in den Reihen? Ich habe das Tisch-Tag nirgends gesagt, außer oben auf der Seite. Jede Klärung wäre großartig, danke nochmal für die Hilfe! – Beez
@Beez, die Daten, die wir wollen, ist in der Tabelle nach dem div mit dieser ID, wenn Sie nur die Tabelle als in 'select_one (" Tabelle ")' oder 'find (" Tabelle ")' Sie werden sehen, wir bekommen Weg mehr Header/Spalten nicht nur 'Team, Krug, Open, Line Movements, aktuelle, Runline, Scores' –