使用find_all()[]进行调试

时间:2017-07-25 06:42:55

标签: python beautifulsoup findall

我必须调试我还没写过的代码。我想我在这一行找到了问题,但我不清楚它的作用。任何人都可以向我解释一下吗?

 number_of_items_found = int(soup.find_all('li')[3].text.split(' ')[0])

1 个答案:

答案 0 :(得分:1)

好像你正在使用BeautifulSoup来抓取一个HTML文本。 因此,soup.find_all('li')部分将从您的html中提取每个<li>..</li>标记。 然后,您访问这些标记中的第四个(index = 3)并将其文本拆分为空格。

例如:如果li包含的文字类似于12 books in your cart,则在其上使用.split(' ')会为您提供一个列表:['12', 'books', 'in', 'your', 'cart']

访问列表的第一个元素(index = 0)并将其转换为整数后。因此,要继续使用上面的假设文本和列表,结果将是:int('12') -> 12

希望它有意义。