使用.append向列表添加元素时出现None值的技术问询
问题解决:列表添加元素出现None值的原因与修复方案
问题根源
你错误地将print()函数的返回值赋值给了变量——print()函数的返回值永远是None,不管你在函数里输出什么内容。所以ru_name、original_name这些变量实际存储的都是None,append到列表后自然全是None。
修复后的代码
data = [] for e in movie: # 先获取爬取到的实际数据,再单独打印(打印不影响变量存储的值) ru_name = e.find('div', class_='base-movie-main-info_mainInfo__ZL_u3').find('span', class_='styles_mainTitle__IFQyZ styles_activeMovieTittle__kJdJj').text print(ru_name) original_name = e.find('span', class_='desktop-list-main-info_secondaryTitle__ighTt').text print(original_name) remain = e.find('div', class_='styles_main__Y8zDm styles_mainWithNotCollapsedBeforeSlot__x4cWo').find('span', class_='desktop-list-main-info_truncatedText__IMQRP').text print(remain) rate = e.find('span', class_='styles_kinopoiskValuePositive__vOb2E styles_kinopoiskValue__9qXjg styles_top250Type__mPloU').text print(rate) link = "https://www.kinopoisk.ru" + e.find('a', class_='base-movie-main-info_link__YwtP1').get('href') print(link) data.append([ru_name, original_name, remain, rate, link])
说明
修改逻辑很简单:先把爬取到的文本/链接赋值给变量,再用print()单独输出查看。这样变量存储的是有效数据,append到列表里的就是你想要的电影信息了。
内容的提问来源于stack exchange,提问作者Moksggwp
相关产品推荐
相关产品推荐

