将web-scraped数据转换为json python

时间:2014-06-12 11:25:51

标签: python json python-2.7

我抓了一个网站,给了我2个字符串:一个字符串是一个名字(即代码中的文本),另一个是我连接到一个列表的网址集合。现在我想把它转换成json

text=[]
text.append(texts+url)
alltexts=json.dumps(text)
return alltexts

我得到像这样的JSON

["AAA , 2858778011", "BBB , 2676882011", "CCC , 7589478011", "DDD , None", "EEE , None", "FFF , 1001423601"]

我想得到像这样的东西

{['name':'AAA','id':'2858778011'],['name':'BBB','id':'7589478011'],['name':'CCC','id':'None'],['name':'DDD','id':'None'],['name':'EEE','id':'1001423601']}

1 个答案:

答案 0 :(得分:0)

假设文本,网址如下所示。你可以生成如下的json

texts=["AAA", "BBB" "CCC","DDD","EEE","FFF"]
urls=["2858778011", "2676882011", "7589478011", "None", "None", "1001423601"]

text=[]
for i,j in zip(texts,urls):
    text.append({"name":i,"id":j})

或仅使用列表理解

text=[{"name":i,"id":j} for i,j in zip(texts,urls)]

alltexts=json.dumps(text)

使用你的文字

text=["AAA , 2858778011", "BBB , 2676882011", "CCC , 7589478011", "DDD , None", "EEE , None", "FFF , 1001423601"]

text=[{'name':i.split(',')[0].rstrip(),'id':i.split(',')[1].lstrip()} for i in text]

#output:[{'name': 'AAA', 'id': '2858778011'}, {'name': 'BBB', 'id': '2676882011'}, {'name': 'CCC', 'id': '7589478011'}, {'name': 'DDD', 'id': 'None'}, {'name': 'EEE', 'id': 'None'}, {'name': 'FFF', 'id': '1001423601'}]