在获取json数据的时候出现了错误,索引位置出错了,该怎么检查怎么修改啊?
列表下标越界了。你re.findall()没有找到需要的内容,返回[]空列表,没有0下标的
你检查下data中内容是否正确,正则表达式是否写对
如果re.findall()返回[]空列表是正常情况,
要先判断是否为空列表。不是空列表再取列表的[0]下标,比如
lst = re.findall(。。。。。)
if len(lst)>0:
jsondata=lst[0]
else:
print('没有找到需要的内容')
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮
inf = re.findall('{rc":*}',data)
json_data = inf[0] if inf else []
你好哦,我也是爬虫职业,对于这种情况属于你正则匹配没有匹配到东西,然后你去取空列表的索引,当然会报错啦!像这种情况我们一般需要考虑是否是自己爬取的速度过快或遭遇反爬,导致返回的数据为空,这种情况需要在匹配的时候外层套入try-excpet语句哦!码字不易,望采纳!