Python 错误消息:';非类型';对象没有属性';拆分';

Python 错误消息:';非类型';对象没有属性';拆分';,python,html,parsing,html-parsing,beautifulsoup,Python,Html,Parsing,Html Parsing,Beautifulsoup,我正在尝试使用BeautifulSoup从html文档中分离位置信息和电影标题信息 我从以下几行中提取信息: <div class="filmo-row even" id="writer-tt1308667"> 我得到了一个错误: AttributeError: 'NoneType' object has no attribute 'split' 我错过了什么?请帮忙 问题在于,页面上并非所有的div元素都具有id属性 您应该通过向find_all()提供类名或id属性来缩小搜

我正在尝试使用BeautifulSoup从html文档中分离位置信息和电影标题信息

我从以下几行中提取信息:

<div class="filmo-row even" id="writer-tt1308667">
我得到了一个错误:

AttributeError: 'NoneType' object has no attribute 'split' 

我错过了什么?请帮忙

问题在于,页面上并非所有的
div
元素都具有
id
属性

您应该通过向
find_all()
提供类名或id属性来缩小搜索范围:

或者,例如,您可以使用
re
模块检查
div
是否具有包含
writer-
文本的
id
属性:

for div in soup.find_all("div", {'id': re.compile('writer-'}):
    print div.get('id')

希望能有所帮助。

这一行真的有ID吗?还有,您能显示完整堆栈跟踪吗?不确定如何显示完整堆栈跟踪,但打印位置代码给出如下内容:actor-tt213326 actor-tt0121955 None-None-more-spicess-tt0121955-actor-None-actor-tt1308667 actor-tt0372588 actor-tt0338479 actor-tt0263206 actor-tt0267939 actor-tt0158983 actor-tt0169299 actor-tt1626206actor-tt0470926 actor-tt0205423 actor-tt0131857 actor-tt0124819当您获得AttributeError时,应该有一堆文本告诉您错误发生的确切位置以及此时正在进行的函数调用。这是堆栈跟踪.Traceback(最后一次调用):File“/private/var/folders/00/yl1lkzc90kg05rgs3m4g2qtr0000gn/T/Cleanup At Startup/Parse_practice-417835156.088.py”,第48行,在split=Position_ttcode.split('-')AttributeError:“NoneType”对象没有属性“split”logout这确实有用!非常感谢你:D!
for div in soup.find_all("div", {'class': 'filmo-row'}):
    print div.get('id')
for div in soup.find_all("div", {'id': re.compile('writer-'}):
    print div.get('id')