Python 从html文件将数据导入JSON dict时遇到问题

Python 从html文件将数据导入JSON dict时遇到问题,python,json,Python,Json,我正试图抓取一个网站,到目前为止,我的代码已经得到了下面复制的html代码。但是,我想访问变量tablelist,特别是'defjson:'部分,并解析其中的数据。 .split('\n')似乎不起作用,但对空格的拆分不起作用,因为defjson中的数据有一些随机空格。有没有其他方法可以访问defjson <script type="text/javascript"> function _doZoom(t){ setCookie(fontCookieName,

我正试图抓取一个网站,到目前为止,我的代码已经得到了下面复制的html代码。但是,我想访问变量tablelist,特别是'defjson:'部分,并解析其中的数据。 .split('\n')似乎不起作用,但对空格的拆分不起作用,因为defjson中的数据有一些随机空格。有没有其他方法可以访问defjson

<script type="text/javascript">
    function _doZoom(t){
        setCookie(fontCookieName,h,9999);
        var a=document.getElementsByTagName("dl");
        var k=[],c=[],g=[];
        var b=a.length;
        for(var f=0;f<b;f++){
            if(a[f].getElementsByTagName("span").length>0){
                g.push(a[f]);k.push(a[f].getElementsByTagName("span")[0]);
                c.push(a[f].getElementsByTagName("span")[1])
            }
        }
        b=g.length;
        var e=document.getElementById("combinationsContainer");
        switch(parseInt(h)){
            case 0:e.style.fontSize="14px";
                for(var d=0;d<b;d++){
                    k[d].className="at";c[d].className=""
                }break;
            case 1:e.style.fontSize="12px";
                for(var d=0;d<b;d++){k[d].className="";c[d].className="at"
                }break
        }
    } 
    var tablelist = new LoadTable({
        id: "dt_1",
        sort: { id: "12", desc: true },
        cells: [{ "n": "股票<font class=\"ssp\" style=\"text-decoration:           underline;\">代码</font>", "s": "5" }, { "n": "股票<font class=\"ssp2\">简称</font>", "w": "58" }, { "n": "相关资料", "w": "120" }, { "n": "申购<br />代码", "w": "44" }, { "n": "发行<br />总数<br />(万股)", "s": "7" }, { "n": "网上<br />发行<br />(万股)", "s": "8" }, { "n": "顶格申购<br />需配市值<br />(万元)<i title=\"黑色斜体部分为预估值,顶格申购需配市值的预估不涉及公司基本面分析,请谨慎参考。\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</i>" }, 
        dataurl: "http://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=NS&sty=NSST&st={sortType}&sr={sortRule}&p={page}&ps={pageSize}&js=var {jsname}={pages:(pc),data:[(x)]}{param}", ...
        defjson:{pages:18,data:[",23772,80199130,万里石,002785,002785,50000000.00,20000000.00,,,,2015-07-08,2015-07-13,,,,,,,zxb,500.00,,,,,,http://topic.eastmoney.com/XMWLSIPO/,中高端石材综合服务商&sbquo;一直专注于建筑装饰石材及景观石材的研发设计、生产和销售。,2.29,2.00,4.59,,0,,2.29,2,4.58,20.00,待上市,,,,,AN201506250010008785,22.9,41.15"
到目前为止,我的代码得到了html文件的上述部分 我试着加入:

 for line in scripts.split('\n'):

     if (line.startswith('defjson: ')):

         jsonStr=line.replace('defjson: ','')

         dataDict = json.loads(jsonStr)
但它给了我一个非类型错误
有没有更好的方法访问defjson:part并将其加载到字典中?

a)行以
defjson:
开头,没有空格。b) 该行缺少一些右括号和大括号。这已经有帮助了吗?谢谢你,这很有帮助。代码现在显示了在我尝试打印赋值之前引用的局部变量“dataDict”。我认为问题还在于.split('\n')工作不正常,并且在执行循环之前没有给我单独的linesTry定义它,如
dataDict={}
。这样,在循环后打印时,它将处于正确的范围内。
 for line in scripts.split('\n'):

     if (line.startswith('defjson: ')):

         jsonStr=line.replace('defjson: ','')

         dataDict = json.loads(jsonStr)