用scrapy爬取某网站,数据由js生成,用xpath提取script,获取到如下:
define("page_data",
{
"uiConfig": {
"type": "root",
"items":[
{
"comid": "itemBasic",
"items":[
{
"id":123,
"data":我所需的数据
}
]
}
]
}
}
);
有什么办法能获取到吗?由于请求数比较多,所以暂时不考虑selenium.
有办法能像js一样操作这段数据吗,例如a'uiConfig''items'这样.
或者正则的话如何匹配呢?
如果你获得的文本这么有规律的话,那就十分简单了,正则都不需要,去掉第一行,去掉最后一行。然后
data = json.loads(content)
,在通过data['uiConfig']['items'][0]['items'][0]['data']
就能拿到了。