2016-12-05 2 views
1

Hallo an alle, ich habe heute eine spezielle Frage zu stellen, wie kratze ich die Daten von einer Website, die sich ständig ändert, wie eine Online-Glücksspiel-Website. Wenn ich diesen Code ausführen ichZugriff auf die Elemente einer Webseite, die sich ständig mit Python ändert

schrieb
import requests 
from bs4 import BeautifulSoup 

def ColorRequest(): 
    url = 'http://csgoroll.com/#/' # Could add a + pls str(pagesomething) to add on to the url so that it would update 
    sourcecode = requests.get(url) #requests the data from the site 
    plaintext = sourcecode.text #imports all of the data gathered 
    soup = BeautifulSoup(plaintext, 'html.parser') #This hold all of the data, and allows you to sort through all of the data, converts it 
    for links in soup.findAll(): 
     print(links) 

ColorRequest() 

ich eine HTML-Ausgabe auf der Seite, aber ich bin auf der Suche für die Elemente, die nach dem Laden der Seite angezeigt werden, nicht das, was die Seite bildet.

Irgendwelche erfahrenen Python-Entwickler sind jemals auf dieses Problem gestoßen und würden einem unerfahrenen Programmierer helfen?

Antwort

1

Es gibt eine Reihe von Möglichkeiten, dies zu tun. Avi gibt ein Beispiel für die Verwendung von Trockenschlage mit einer schönen Suppe, um dies in der folgenden Frage zu tun.

Web-scraping JavaScript page with Python

Ich habe keine Erfahrung mit dryscrape, aber man könnte auch mit einem Headless Browser wie PhantomJS dies mit Selen WebDriver zu tun.

0

Hier ist eine "direkte" Möglichkeit, diese Art von Kratzen zu machen.

Normalerweise wird diese "sich ständig ändernde" Website über AJAX aktualisiert, was Sie wirklich suchen sollten, ist die spezielle Anfrage, die für die Aktualisierung des Website-Inhalts verwendet wird.

Sie können fiddler zu Capture den Verkehr nutzen, während die Website aktualisiert und dann herausfinden, die Anfrage ist die eine gültige Informationen enthält, die Sie (in diesem Fall wahrscheinlich Chancen oder was auch immer) benötigen. Sobald Sie es gefunden haben, nur simulieren Sie die Anfrage und extrahieren Sie alle Informationen, die Sie benötigen.

Verwandte Themen