而不是python中的空列表循环

而不是python中的空列表循环,python,while-loop,empty-list,Python,While Loop,Empty List,我正在向服务器发出请求。。。无论出于何种原因(超出我的理解),服务器都会给我一个200的状态代码,但是当我使用BeautifulSoup从html中获取列表时,什么都不会返回。它只发生在分页的第一页 为了绕过一个已知的bug,我必须循环直到列表不是空的 这很管用,但很笨重。有更好的方法吗?知道我必须强制请求,直到列表包含一个项目 # look for attractions attraction_list = soup.find_all(attrs={'class': 'listing_titl

我正在向服务器发出请求。。。无论出于何种原因(超出我的理解),服务器都会给我一个200的状态代码,但是当我使用BeautifulSoup从html中获取列表时,什么都不会返回。它只发生在分页的第一页

为了绕过一个已知的bug,我必须循环直到列表不是空的

这很管用,但很笨重。有更好的方法吗?知道我必须强制请求,直到列表包含一个项目

# look for attractions
attraction_list = soup.find_all(attrs={'class': 'listing_title'})
while not attraction_list:
    print('the list is empty')
    try:
        t = requests.Session()
        t.cookies.set_policy(BlockAll)
        page2 = t.get(search_url)
        print(page2.status_code)
        soup2 = BeautifulSoup(page2.content, 'html.parser')
        attraction_list = soup2.find_all(attrs={'class': 'listing_title'}) 
    except:
        pass
我想到了这个

attraction_list = soup.find_all(attrs={'class': 'listing_title'})
while not attraction_list:
    print('the list is empty')
    for q in range(0, 4):
        try:
            t = requests.Session()
            t.cookies.set_policy(BlockAll)
            page2 = t.get(search_url)
            print(page2.status_code)
            soup2 = BeautifulSoup(page2.content, 'html.parser')
            attraction_list = soup2.find_all(attrs={'class': 'listing_title'})
        except Exception as str_error:
            print('FAILED TO FIND ATTRACTIONS')
            time.sleep(3)
            continue
        else:
            break

它将尝试4次获取吸引人的景点,如果
吸引人的景点\u列表
以有效的列表结束,它将中断。很好

这项法案被否决有什么原因吗?谢谢