报错解决:Python ‘NoneType‘ object is not subscriptable , 获取到的数据为None,需要保留数据

news/2024/11/26 2:42:02/

人生苦短,我用python

爬取某DB电影数据的时候,

在获取内容的时候出现

'NoneType' object is not subscriptable

Python 资料+报错交流:点击此处跳转文末名片获取

在这里插入图片描述

获取数据的部分代码是:

        writer_avatars = (writers_list[wi]['avatars']['small'])  # 编剧照片writer_name_en = (writers_list[wi]['name_en'].replace("\'", "\\\'")  # 编剧英文名writer_name = (writers_list[wi]['name'].replace("\'", "\\\'")  # 编剧名字writer_alt = (writers_list[wi]['alt'])  # 编剧在豆瓣中的个人主页urlwriter_id = writers_list[wi]['id']  # 编剧在豆瓣中个人idwriter_id_list.append(int(writer_id))

输出获取到的数据:

[
{'avatars': {'small': 'http://img1./view/celebrity/s_ratio_celebrity/public/p21289.jpg', 'large': 'http:///view/celebrity/s_ratio_celebrity/public/p21289.jpg', 'medium': 'http:///view/celebrity/s_ratio_celebrity/public/p21289.jpg'}, 
'name_en': 'Joe Ma', 
'name': '马伟豪', 
'alt': 'https:///celebrity/1290574/', 
'id': '1290574'}, {'avatars': {'small': 'http:///view/celebrity/s_ratio_celebrity/public/p1455792638.81.jpg', 'large': 'http:///view/celebrity/s_ratio_celebrity/public/p1455792638.81.jpg', 'medium': 'http:///view/celebrity/s_ratio_celebrity/public/p1455792638.81.jpg'}, 
'name_en': 'Ivy Kong', 
'name': '江玉仪', 
'alt': '', 
'id': '1275631'}, {'avatars': {'small': /p1496898017.43.jpg', 'large': 'http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1496898017.43.jpg', 'medium': 'http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1496898017.43.jpg'}, 
'name_en': 'Sunny Chan', 
'name': '陈咏燊', 
'alt': 'https:///celebrity/1375202/', 
'id': '1375202'}, {'avatars': {'small': '/view/celebrity/s_ratio_celebrity/public/p3555.jpg', 'large': 'http://img9.doubanio.com/view/celebrity/s_ratio_celebrity/public/p3555.jpg', 'medium': 'http:///view/celebrity/s_ratio_celebrity/public/p3555.jpg'}, 
'name_en': 'Felix Chong', 
'name': '庄文强', 
'alt': 'https:///celebrity/1014716/', 
'id': '1014716'}, {'avatars': None, 'name_en': '', 'name': '钟健强', 'alt': None, 'id': None}, 
{'avatars': None, 'name_en': '', 'name': '孙浩浩', 'alt': None, 'id': None}
]

可以看到之所以报错是因为 数据有为 None 的,
是因为 None 类型是不可编写的

解决如下:

①如果有为 None 的数据不需要保留的话那可以直接用try:pass except:pass 捕获异常,程序正常运行

在这里插入图片描述
②如果即使有为None的数据也需要保存的话可以加入判断:if ** is None: pass esle:pass

部分加入判断的代码如下:

                    if writers_list[wi]['avatars'] is None:writer_avatars = '暂无数据'else:if writers_list[wi]['avatars']['small'] is None:writer_avatars = '暂无数据'else:writer_avatars = (writers_list[wi]['avatars']['small'])  # 编剧照片

这样既可既不报错又保留数据

在这里插入图片描述


👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇


http://www.ppmy.cn/news/44538.html

相关文章

RHCE-Web服务器

请给openlab搭建web网站​ 网站需求:​ 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! 首先创建一个名为openlab的网站: (1)在www目录下创建一个openlab文件夹:mk…

< Linux >:进程地址空间

目录 一、验证进程地址空间 二、感知进程地址空间的存在 一、验证进程地址空间 我们之前学的 C/C 程序地址空间是物理内存吗? 答:不是物理内存,甚至叫做程序地址空间都不太准确,应该叫做进程地址空间,因此根本就不是…

网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式

网络抓包分析,IP数据报,MAC帧,ICMP报,ARP报格式以及不同网络通信的过程。网络抓包工具 wireshark以太网v2MAC帧IP数据报格式ICMP报文格式ARP协议及ARP报文格式抓包分析IP数据报抓包分析icmp数据报的抓包分析ARP数据报的抓包分析网…

网站实现HTTPS的详细流程介绍

网站实现HTTPS的详细流程介绍 对于网站来说,采用HTTPS不仅可以提升网站安全性,还可以帮助优化搜索引擎排名,具体如何实现HTTPS呢?以下就详细介绍一下实现HTTPS的流程。 1、申请SSL证书 在实施HTTPS之前,需要先确认一…

Linux操作基础(文件系统和日志分析)

文章目录一、inode与block1.1inode和block概述1.2 inode包含文件的元信息1.3 linux文件系统的三个时间戳1.4 inode的号码1.5 inode的大小1.6 inode号的特点1.7软连接与硬链接二 、文件恢复2.1 xfsdump恢复2.2 opic恢复方式三 、日志文件3.1 日志文件的分类3.2 日志的格式3.3 常…

能聊天、会学习,远不是GPT的终局

自然语言处理(NLP)技术的发展和运用,使得计算机性能增长速度一举跃过摩尔定律瓶颈,将AI拱入属于它的高光时代。而象征技术融合的ChatGPT一夜爆红,仿佛给整个商业社会带来了一次“技术革命”。 微软、谷歌、百度、华为…

2023最全的自动化测试入门基础知识(建议收藏)

1)首先,什么是自动化测试? 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的过程一步步执行测试,得到实际结果与期望结果的比较。…

【接口测试】从0不到1的心路历程

我是一名做了三年测试的tester,2020年以功能测试工程师的身份入职北京一家医疗培训公司,入职后为了提高测试效率,接触到接口测试,以下是从零到现在 (还有很大完善的空间,所以不能算是1) 的一些心路历程。 做接口测试的…