基数为10的int()的无效文字说明:'Last'。

问题描述 投票:-1回答:1

我在执行Python代码时得到这个错误。代码运行得很完美,直到这个 print 语句。我到底做错了什么?

print("Category Loaded")

            # Find pagination if any
            lis=soup.select(".pagination li")   
            if len(lis)>0:
                #get last page num
                last_page=int(lis[-1].get_text().strip())                   
                page_num=1
                # Loop to get all pages
                while True:                                                 
                    print("Loading Page : "+str(page_num))

python web-scraping
1个回答
1
投票

你试图用这一行把一个值转换成一个整数。

last_page=int(lis[-1].get_text().strip())

如果你要转换的值--列表中最后一个元素的文本--不是只由数字组成,那么这是不可能的。

你的值是 "Last",而不是任何东西。int() 可以工作,所以你得到的错误。我想 soup.select(".pagination li") 除了你想要的数字外,还返回 "First"、"Previous"、"Next "和 "Last"。你需要对你的列表进行更多的清理,才能只显示数字。

© www.soinside.com 2019 - 2024. All rights reserved.