刮非格式化的json

时间:2018-05-18 17:53:03

标签: python json scrapy

我的在线json文件就像

json.loads(response.body_as_unicode())

我正在尝试使用scrapy废弃它,但代码JSONDecodeError: Expecting value正在提供List(List(1, 2, 3, 4),List(5, 6, 6, 8),List(2,4,5,0)) ,因为json格式不正确。有没有解决此问题的方法。

1 个答案:

答案 0 :(得分:1)

你需要使用正则表达式从一些JS的东西中清除它然后你可以使用json.loads()

json_str = re.search( r'data\((.+)\)$', response.body, flags=re.DOTALL).group(1)
data = json.loads(json_str)

<强>更新 对于Python 3,你需要这样的东西:

json_str = re.search( r'data\((.+)\)$', response.text, flags=re.DOTALL).group(1)
data = json.loads(json_str)