如何将字典元素从beautifulsoup添加到json文件
您能帮我如何从字典导入json文件吗?我已经从web上获取了所有标记,但仍然无法保存所有标记。这是我的密码如何将字典元素从beautifulsoup添加到json文件,json,python-3.x,dictionary,beautifulsoup,Json,Python 3.x,Dictionary,Beautifulsoup,您能帮我如何从字典导入json文件吗?我已经从web上获取了所有标记,但仍然无法保存所有标记。这是我的密码 array= [] data = {} for divdata in soup.findAll('div', {"class": "ratio9_8 box_img fl mr10"}): for div in divdata.findAll('div', {'class': 'img_con lqd'}): for getatag in div.findAll('
array= []
data = {}
for divdata in soup.findAll('div', {"class": "ratio9_8 box_img fl mr10"}):
for div in divdata.findAll('div', {'class': 'img_con lqd'}):
for getatag in div.findAll('a', {'data-category': 'WP Kanal Berita'},href = True):
for getimgtag in getatag.findAll('img',title=True,src=True):
array.append(getimgtag['title'])
array.append(getimgtag['src'])
array.append(getatag['href'])
data['title'] = array[0]
data['image'] = array[1]
data['link'] = array[2]
with open('data.json', 'w') as outfile:
json.dump(data, outfile)
运行程序时,我只得到一本字典
{"title": "......", "image": ".....", "link": "...."}
将输出语句放入分配数据的循环中。您正在覆盖每次迭代中的数据。如果您将代码更改为:
array= []
data = {}
for divdata in soup.findAll('div', {"class": "ratio9_8 box_img fl mr10"}):
for div in divdata.findAll('div', {'class': 'img_con lqd'}):
for getatag in div.findAll('a', {'data-category': 'WP Kanal Berita'},href = True):
for getimgtag in getatag.findAll('img',title=True,src=True):
array.append(getimgtag['title'])
array.append(getimgtag['src'])
array.append(getatag['href'])
data['title'] = array[0]
data['image'] = array[1]
data['link'] = array[2]
with open('data.json', 'a') as outfile:
json.dump(data, outfile)
它应该给你你想要的
或者,您可以:
array= []
data = {}
data_list = []
for divdata in soup.findAll('div', {"class": "ratio9_8 box_img fl mr10"}):
for div in divdata.findAll('div', {'class': 'img_con lqd'}):
for getatag in div.findAll('a', {'data-category': 'WP Kanal Berita'},href = True):
for getimgtag in getatag.findAll('img',title=True,src=True):
array.append(getimgtag['title'])
array.append(getimgtag['src'])
array.append(getatag['href'])
data['title'] = array[0]
data['image'] = array[1]
data['link'] = array[2]
data_list.append(data)
data = {'data_list': data_list}
with open('data.json', 'w') as outfile:
json.dump(data, outfile)