Ich möchte die Webseite http://dcsd.nutrislice.com/menu/meadow-view/lunch/ parsen, um das heutige Mittagsmenü zu ergattern. (Ich habe einen Adafruit #IoT Thermodrucker gebaut und ich möchte das Menü jeden Tag automatisch drucken.)Parsen Sie das von BeautifulSoup zurückgegebene JavaScript
Ich ging anfänglich mit BeautifulSoup, aber es stellt sich heraus, dass die meisten Daten in JavaScript und ich geladen sind bin mir nicht sicher, ob BeautifulSoup damit umgehen kann. Wenn Sie die Quelle anzeigen, werden die relevanten Daten in bootstrapData['menuMonthWeeks']
angezeigt.
import urllib2
from BeautifulSoup import BeautifulSoup
url = "http://dcsd.nutrislice.com/menu/meadow-view/lunch/"
soup = BeautifulSoup(urllib2.urlopen(url).read())
Dies ist ein einfacher Weg, um die Quelle und Überprüfung zu erhalten.
Meine Frage ist: Was ist der einfachste Weg, um diese Daten zu extrahieren, damit ich etwas damit machen kann? Buchstäblich alles, was ich will, ist eine Zeichenfolge so etwas wie:
Southwest Käse Omelette, Potato Wedges, The Harvest Bar (THB), THB - Cheesy Pesto Brot, Schinken Deli Sandwich, Red Pepper Sticks, Erdbeeren
Ich habe darüber nachgedacht, Webkit zu verwenden, um die Seite zu bearbeiten und HTML zu erhalten (dh was ein Browser tut), aber das scheint unnötig komplex zu sein. Ich würde eher etwas finden, das die bootstrapData['menuMonthWeeks']
Daten analysieren kann.
Sehr hilfreich! Benötigt ein paar mehr Importe und die URL definiert, aber letztlich funktioniert das auch gut um diesen Wert zu bekommen. – Wade