2015-05-26 80 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) 
相關問題