2017-05-11 6 views
0

Kann mir bitte jemand helfen, bestimmte Daten von einer Webseite analysieren? Hier ist der Inhalt auf der Webseite.Parse Daten von der Webseite mit Python

{"sites":[{"id":"XX","name":"YY","url":"ZZ","username":"AA","password":"BB","siteId":"0"},{"id":"XX","name":"YY","url":"ZZ","username":"AA","password":"BB","siteId":"0"}]}

Ich brauche nur die ID aus dem gesamten Inhalt. Bitte beachten Sie, wir haben hier zwei IDs im Inhalt der Webseite, also brauche ich alle ID von der Webseite. Hier ist der Code, den ich geschrieben habe, um den Web-Inhalt auszugeben, aber nicht in der Lage, die Daten zu parsen, die ich brauche. Bitte hilf mir.

def test(ip): 
    url = 'http://%s/' % ip 
    response = urllib.urlopen(url) 
    webContent = response.read() 
    print webContent 

Antwort

0

Ihr Inhalt ist ein json Dokument, können Sie es mit dem json library analysieren und als Python-Objekt verwenden:

import json 

def test(ip): 
    url = 'http://%s/' % ip 
    response = urllib.urlopen(url) 
    webContent = response.read() 
    content = json.loads(webContent) 
    print([site['id'] for site in content['sites']]) 
+0

Sie so viel Dank. IDs werden in etwa wie folgt gedruckt: 'u' 1 ',' u '2' mit 'du' vor den IDs. Gibt es eine Möglichkeit, diese Leute loszuwerden? –

+0

ist, weil diese Unicode-Zeichenfolge in Python2 sind. Wenn Sie sich nicht darum kümmern, können Sie str verwenden, um sie in einen String zu ändern: print ([str (site ['id']) für die Website im Inhalt ['sites']]) –