【发布时间】:2021-12-19 06:03:54
【问题描述】:
使用 beautifulSoup 抓取网页时出现 'NoneType' object has no attribute 'text' 错误。
html文档部分如下所示:
<div class="ntb boy">
<ol>...</ol>
<ul class="nbd">
<li class="ntr" data-id="bwjleo">
<i class="nvt">...</i>
<dl class="nem">
<dt class="nvar">
<b>
<a href="https://www.babynamesdirect.com/boy/aak" title="Meaning and more details of Aak">
Aak
</a>
</b>
</dt>
<dd class="ndfn">
A Nature; Sky
</dd>
</dl>
<em class="narr">
</em>
</li>
<li>...</li>
<li>...</li>
.
.
</ul>
</div>
用于提取名称的代码(上述html中的“Aak”):
res = requests.get('https://www.babynamesdirect.com/baby-names/indian/boy/trending')
soup = BeautifulSoup(res.text, 'html5lib')
ul = soup.find('div', class_ = 'ntb boy').find_all('li')
names = [name.dt.text for name in ul]
print(names)
当我尝试打印name.dt 时,我得到bs4.element.Tag。但是name.dt.text 给AttributeError: 'NoneType' object has no attribute 'text'。
【问题讨论】:
标签: python python-3.x web-scraping beautifulsoup