Python中文
首页
教程
问答
标签
搜索
登录
注册
findAll()的BeautifulSoup错误处理
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在从这个<a href="https://www.malaysiastock.biz/Corporate-Infomation.aspx?securityCode=5090" rel="nofollow noreferrer">link</a>中提取数据。在下面的代码中,是否有任何方法可以对findAll()进行错误处理</p> <p>现在,表中没有任何内容:</p> <p><a href="https://i.stack.imgur.com/KCuRY.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/KCuRY.png" alt="enter image description here"/></a></p> <p>我的代码</p> <pre><code>import requests from bs4 import BeautifulSoup header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/87.0.4280.88 Safari/537.36 ' } def testingCode(stockIdNumber): MalaysiaStockBizURL = requests.get(str('https://www.malaysiastock.biz/Corporate-Infomation.aspx?securityCode='+ str(stockIdNumber)),headers=header) MalaysiaStockBizParser = BeautifulSoup(MalaysiaStockBizURL.text, 'html.parser') try: shareholdingChangesTable = MalaysiaStockBizParser.find('table', { 'id': 'ctl19_gvShareholdingChange'}).findAll('tr', limit=11) for testShare in shareholdingChangesTable: titleelem = testShare.find('td') if titleelem: print(titleelem) else: print("Error") except IndexError: print("Malaysia Stockbiz - Error on Shareholding Changes.") testingCode('5090') # This one has error ''NoneType' object has no attribute 'findAll'', so need error handling #testingCode('0105') # This one return some result </code></pre> <p>如果代码是<code>MalaysiaStockBizParser.find('table', { 'id': 'ctl19_gvShareholdingChange'})</code>,我可以进行错误处理,因为它将生成<code>None</code>。但是如果使用<code>MalaysiaStockBizParser.find('table', { 'id': 'ctl19_gvShareholdingChange'}).findAll('tr', limit=11)</code>,我就不能。这将使我直接陷入错误“<code>NoneType' object has no attribute 'findAll</code>”。你知道我该怎么做吗</p> <p>您可以将此<a href="https://www.malaysiastock.biz/Corporate-Infomation.aspx?securityCode=0105" rel="nofollow noreferrer">link</a>作为表格显示方式的示例: <a href="https://i.stack.imgur.com/nxTvx.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/nxTvx.png" alt="enter image description here"/></a></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您试图捕捉错误的错误。正如在错误消息中所看到的,您将获得AttributeError,因此您需要捕获该错误。将except语句更改为此将解决此问题:</p> <pre><code>try: # do something except AttributeError: # do another thing </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在用户使用jquery单击按钮(提交选项之前)时突出显示html中的选项
1 回答
如何在用户使用midd注销时删除用户
4 回答
如何在用户停止滑动和缩放时同步范围?
10 回答
如何在用户关闭Android kivy应用程序后恢复上一个活动?
4 回答
如何在用户关闭浏览器后不强制登录
4 回答
如何在用户函数中返回两个数据帧
3 回答
如何在用户创建后更新用户列表字段;信号
7 回答
如何在用户单击Django中的“ok”后触发Javascript警报并重定向页面?
2 回答
如何在用户单击查询后显示消息؟
1 回答
如何在用户可以使用键盘的健身房制作cartpole游戏
1 回答
如何在用户名和密码来自数据库的python脚本中添加最大登录尝试?
6 回答
如何在用户名和密码相同的情况下登录网站?
8 回答
如何在用户向Django注册时添加新的数据库条目?
2 回答
如何在用户和他们进行的不同交易之间建立关系?
2 回答
如何在用户和会话之间创建一对多的关系,其中用户在一方,会话在多方?
3 回答
如何在用户喜欢帖子时动态更新Flask模板?
6 回答
如何在用户在Django中注册后自动将users表链接到另一个表
10 回答
如何在用户定义的Python函数中打印给定参数的长度?
5 回答
如何在用户定义的Python类中实现哈希?
9 回答
如何在用户定义的块中迭代Numpy数组?
3 回答