我试图从网站中删除一些数据并且结果是json格式,但是我还必须对该json数据进行一些操作,所以如果我将for循环的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")
er=[]
select_css=soup.select("script#jsInit1")[0]
for i in select_css:
er.append(json.loads(i))
答案 0 :(得分:0)
好的,所以我想将输出保存在任何变量中,然后我将select_css传递给一个函数而不是追加i返回数据然后给该函数一个引用(闭包)并使用返回的输出进行一些操作。
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")
er=[]
select_css=soup.select("script#jsInit1")[0]
def hello(x):
for i in x:
return json.loads(i)
desired_variable=hello(select_css)
print(desired_variable['tree']['data']['results'][2]['images']['orig']['url'])