墨绿Zz 2021-04-07 23:47 采纳率: 25%
浏览 68
已采纳

python爬取猫眼top写入excel 提示string index out of range?

#这部分包括写入文件 和调用部分
def excel(items):
    newTable = "test.xls"
    wb = xlwt.Workbook("encoding='utf-8")

    ws = wb.add_sheet('sheet1')
    headDate = ['index', 'img', 'title', 'actor', 'time', 'score']
    for i in range(0,6):
        ws.write(0, i, headDate[i], xlwt.easyxf('font: bold on'))

    index = 1 
    print('---------------')

    for data in items:

        print('---------------')
        for i in range(0,5):

            print(data[i])

            ws.write(index, i, data[i])#只要分配好 自己塞入

        index += 1
        wb.save(newTable)


def main(count):
    url = 'https://maoyan.com/board/4' + str(count)

    html = get_one_page(url)#第一页数据

    for item in parse_one_page(html):#item为一页中的第一条

    	excel(item)#依次写入这个页面的一条 一条

    
    

if __name__ == '__main__':

	for j in range(10):
		main(count = j*10)
		time.sleep(1)

这里我用for循环想爬取100个(10页)信息 才提示的错误 但我如果只爬10个(一页)就不会提示错误 这是为什么???

 

  • 写回答

2条回答 默认 最新

  • wjk1397 2021-04-08 01:07
    关注

    明显跑到那里时超限了,data里元素数量肯定不到五个,输出一下看看data具体是什么就知道了,问题应该是你get_one_page()里,你解析出来的数据有一组是特殊的,不到五个

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作