Python漂亮汤和处理不存在的表(用于动态网页)

fnvucqvd  于 2022-12-17  发布在  Python
关注(0)|答案(1)|浏览(140)

我使用以下命令通过迭代函数成功地从多个网页上的表中抓取数据:

Sales = soup.find('table', id="tblSales")
 SaleData = Sales.find_all('tr')
    for tr in SaleData:
        td = tr.find_all('td')
        SaleData = [i.text for i in td]
        print(SaleData)

问题是,有时页面上不存在表格(没有“sales”,所以没有表格插入页面),所以python抛出错误并停止,当表格不存在时,网页显示如下html:

<div>
<span id="ucSaleInfo_lblNoSales">
    <p style="text-align:center"><em>No Sales Information Available</em></p>
</span>                                            
</div>

有没有办法处理汤中不存在的表?

atmip9wb

atmip9wb1#

最简单的方法是检查Sales是否存在

if Sales := soup.find('table', id="tblSales"):
    SaleData = Sales.find_all('tr')
        for tr in SaleData:
            td = tr.find_all('td')
            SaleData = [i.text for i in td]
            print(SaleData)

OR(本质相同)

Sales = soup.find('table', id="tblSales")
if Sales:
    SaleData = Sales.find_all('tr')
        for tr in SaleData:
            td = tr.find_all('td')
            SaleData = [i.text for i in td]
            print(SaleData)

相关问题