2016-08-16 6 views
1

Ich versuche Abschnitte einer Javascript-Kalender-Seite durch Python (Xbmc/Kodi) zu kratzen. Bis jetzt konnte ich statische HTML-Variablen abkratzen, aber nicht die JavaScript-generierten Abschnitte.Einfache Login-Funktion für XBMC (Python) Problem

Die Variablen im Abrufen sind <strong class="item-title">**this**</strong> , <span class="item-daterange">**this**</span> and <div class="item-location">**this**</div>, beachten Sie, dass sie in separaten Abschnitten der HTML-Quelle sind, und durch JavaScript gerendert. Alle von ihnen abgekratzten Variablen sollten an einen String angehängt und angezeigt werden.

response = net.http_GET('my URL') 
    link = response.content 
    match=re.compile('<strong class="gcf-item-title">(.+?)</strong>').findall(link) 
    for name in match: 
     name = name 
     print name 

Aus dem oben mit regex kann ich nur eine von diesen Variablen kratzen und da ich eine String-Liste muß zusammen alle Variablen angezeigt werden, wie das getan werden kann?

Ich bekomme, dass die Seite vor gerendert werden muss, damit die Javascript-Variablen geschabt werden Aber da ich xbmc verwende, bin ich nicht sicher, wie ich zusätzliche Python-Bibliotheken wie dryscrape importieren kann, um dies zu erledigen. Download Dryscrape gibt mir eine setup.py, init .py Datei zusammen mit einigen anderen, aber wie kann ich alle zusammen verwenden?

Danke.

Antwort

1

Sie haben Fragen zu den Schritten zum Scrappen von JavaScript, zur Verwendung von Python auf XBMC/Kodi oder zur Installation von Paketen, die mit einer setup.py Datei geliefert werden?

Nur basierend oben auf Ihrer RegEx, wenn Sie Ihre Eingaben sind immer wie<strong class="item-title">**this**</strong> Sie kein Spiel, da Ihr re Muster erhalten, ist für Elemente mit class = "GCF-item-Titel.

Verwenden oder verwenden Sie BeautifulSoup? Wenn Sie nicht verwenden, aber können, sollten Sie - es ist das Leben im Hinblick auf das Scraping von Websites ändern.

+0

ja, ich benutze Beautifulsoup, und theres drei divs dass ich in eine Zeichenfolge angehängt und gedruckt werden muss, sind diese 3 die Divs (einschließlich des starken Textes) in der Frage erwähnt, werden sie durch Javascript generiert, Irgendeine Idee, wie ich das erreichen kann? Ich kann Beautifulsoup benutzen, aber nicht einige andere. –

+0

und wie verwenden Sie Pakete, die mit einer setup.py-Datei mit xbmc geliefert werden? Ich habe noch keine Antworten darauf gefunden, wie das geht. –

+0

Schauen Sie sich [diesen Link] (http://kodi.wiki/view/Python_libraries) an, um zu sehen, ob es hilft. Es sieht so aus, als ob Kodi/XBMC einen 'from lib import ' Ansatz verwenden möchte, indem Sie Ihre _init_.py Datei in einen ** lib ** Ordner stellen – dblclik