scrapy 解析js代码或正则?

用scrapy爬取某网站,数据由js生成,用xpath提取script,获取到如下:

define("page_data",
        {            "uiConfig": {                "type": "root",                "items":[
                    {                        "comid": "itemBasic",                        "items":[
                            {                                "id":123,                                "data":我所需的数据
                            }
                        ]
                    }
                ]
            }
        }
    );

有什么办法能获取到吗?由于请求数比较多,所以暂时不考虑selenium.
有办法能像js一样操作这段数据吗,例如a'uiConfig''items'这样.
或者正则的话如何匹配呢?


holdtom
浏览 1265回答 2
2回答

慕慕森

如果你获得的文本这么有规律的话,那就十分简单了,正则都不需要,去掉第一行,去掉最后一行。然后 data = json.loads(content) ,在通过 data['uiConfig']['items'][0]['items'][0]['data'] 就能拿到了。
打开App,查看更多内容
随时随地看视频慕课网APP