2015-05-26 81 views
-2

如何将html页面中的以下内容转换为我可以解析的实际json对象?将html-json转换为实际的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

这将有助于如果你给我们的环境在哪里和如何:如果你想抓住字符串中,你从你提供的,你可以使用类似这样的字符串需要在页面中,它被给出了这样的方式。这是在脚本标签内吗? CDATA上下文?还有别的吗? –

+0

@CharlesDuffy - 请参阅更新后的问题 – David542

+0

文字双字符'\ n'序列?我真的怀疑这一点。这是通过在Python提示符处输入'varname'获得的吗?这与你从'print varname'获得的不同。交互式运行'>>> varname'与'print repr(varname)'相同,它与'print str(varname)'非常不同。后者是你如何得到适合粘贴在StackOverflow问题中的文字内容。 –

回答

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) 
相关问题