2017-09-25 3 views
4

Ich versuche, das JSON-Format zu beschönigen, aber ich bin immer diese Fehlermeldung:dump() 1 erforderlich Positions Argument fehlt: 'fp' in Python json

import requests as tt 
from bs4 import BeautifulSoup 
import json 

get_url=tt.get("https://in.pinterest.com/search/pins/?rs=ac&len=2&q=batman%20motivation&eq=batman%20moti&etslf=5839&term_meta[]=batman%7Cautocomplete%7Cundefined&term_meta[]=motivation%7Cautocomplete%7Cundefined") 
soup=BeautifulSoup(get_url.text,"html.parser") 

select_css=soup.select("script#jsInit1")[0] 
for i in select_css: 
    print(json.dump(json.loads(i),indent=4,sort_keys=True)) 

Grundsätzlich möchte ich diese Art von Element extrahieren:

'orig': {'width': 1080, 'url': '', 'height': 1349}, 

ich weiß, ich kann dies tun mit

select_css.get('orig').get('url') 

Aber ich bin nicht sicher, dass dieses json Element Element unter jedem verschachtelt Element ? Deshalb versuche ich zu verschönern, um eine Idee zu bekommen.

+0

Sie wollen 'Dumps', die zu einem * String * Dumps,' Dump' nimmt einen Puffer, d. H. Eine Datei-Handler. –

Antwort

12

Verwenden Sie stattdessen json.dumps(). json.dump() benötigt ein Dateiobjekt und speichert JSON darauf.

Verwandte Themen