【发布时间】:2017-12-28 13:42:04
【问题描述】:
我正在关注 bs4 的一些教程。我正在尝试使用“a”获取以下示例的 get_text()。教程返回结果 McDermott International 和 MDR 没有问题。但是当我这样做时,我得到了 AttributeError:'NoneType' 对象没有属性 'get_text'。请帮忙。非常感谢!
with open('Energy.htm') as f:
soup = BeautifulSoup(f,"lxml")
energylist = soup.find_all('td', {"style" : "text-align:left;"})
for stock in energylist:
try:
stock_name = stock.find('a').get_text()
except:
stock_name = ''
#sample of the energylist
[<td style="text-align:left;">
<a href="/finance?q=NYSE:MDR&ei=nblKWaDrOs7AmgH0l7S4Bg">McDermott
International</a>
</td>, <td style="text-align:left;">
<a href="/finance?q=NYSE:MDR&ei=nblKWaDrOs7AmgH0l7S4Bg">MDR</a>
</td>, <td style="text-align:left;">
<a href="/finance?q=NYSE:EQT&ei=nblKWaDrOs7AmgH0l7S4Bg">EQT</a>
</td>, <td colspan="8" style="text-align:left;">
Companies <b>1 - 20</b> of about <b>476</b> in <b>Energy</b>
</td>]
【问题讨论】:
-
表示没有找到
a标签。你能说明你是如何将源代码处理成energylist的吗? -
谢谢 Willem,我在这个项目中使用了 Google 财经。示例页面是这样的:google.com/finance?catid=TRBC%3A50&ei=erHdV6HdFcKgeJXHlrgO 在我用漂亮的汤解析之后。我试图将我的数据缩小到市场的顶部。我编辑了原始帖子中的代码以包括如何获取能量列表。再次感谢您