将html-json转换为实际的json

时间:2015-05-26 19:37:24

标签: python json

如何将html页面中的以下内容转换为可以解析的实际json对象?

<script src=\"http://static.huluim.com/huluguru/i18n/en-us/translations-219ee4e300884b27b7e875b76cdd956b.js\" type=\"text/javascript\"><\/script>\n          <script src=\"http://static.huluim.com/huluguru/application_core-c4b64baae3fbc0e521f2421421b5fbd7.js\" type=\"text/javascript\"><\/script>\n              <script src=\"http://static.huluim.com/huluguru/application_framework-83ca0d7c85063f8e535d65f6fcb7ebfa.js\" type=\"text/javascript\"><\/script>\n            <script type='text/javascript'>\n    window.jsLoaded.frameworkloadedCallbacks.push(function(){\n      
window._preloadedFastStartVideo = {\"id\": 786746, \"eid\": \"AXbfrprlxGzisLBNlTdzMw\", 
\"title\": \"10.0 Earthquake\", \"video_type\": \"feature_film\", \"content_id\": \"60551582\"}

基本上我希望能够做到:

>>>  _preloadedFastStartVideo['id']
786746

1 个答案:

答案 0 :(得分:0)

你可以使用json.loads('你的json这里')

import json
json.loads('{\"id\": 786746, \"eid\": \"AXbfrprlxGzisLBNlTdzMw\", \"title\": \"10.0 Earthquake\", \"video_type\": \"feature_film\", \"content_id\": \"60551582\"}')

返回

{u'content_id': u'60551582', u'title': u'10.0 Earthquake', u'id': 786746, u'video_type': u'feature_film', u'eid': u'AXbfrprlxGzisLBNlTdzMw'}

如果你想从你提供的字符串中获取所需的字符串,你可以使用以下内容:

import re
instr = re.sub("\n","",string.split("window._preloadedFastStartVideo =")[1])

跟进

d = json.loads(instr)