Ich versuche, diese Spielwebseite (g2a [dot] com) zu kratzen, um eine Liste der besten Preise für die Spiele zu erhalten, die ich suche. Die Preise sind in der Regel in einer Tabelle (siehe Bild).Scraping g2a [dot] com mit BeautifulSoup
Mein Code auf den Tisch zu bekommen ist:
for gTitle in gameList:
page = urllib.request.urlopen('http://www.g2a.com/%s.html' %gTitle).read()
soup = BeautifulSoup(page, 'lxml')
table = soup.find('table',class_='mp-user-rating')
Aber wenn ich die Tabelle drucken, finde ich, dass Python alle Tabellen auf der Website zusammen, ohne dass die Inhalte zusammengeführt hat:
>>> <table class="mp-user-rating jq-wh-offers wh-table"></table>
Ist das ein Fehler oder mache ich etwas falsch? Ich benutze Python 3.6.1 mit BeautifulSoup4 und urllib. Ich würde diese gerne weiterverwenden, wenn möglich, aber ich bin offen für Veränderungen.
Was Sie brauchen, wird mit Javascript generiert, Sie können es nicht mit BS bekommen. Erwägen Sie die Verwendung von Selen https://selenium-python.readthedocs.io/ –