首页 > 解决方案 > 在抓取 html 表时动态跳过最后两行:BS4 Python

问题描述

我正在从平台上抓取一个 html 表。检索所有值后,我想跳过表的最后两行,每一行都是一个单独的表。任何人都可以帮忙吗?

我正在遵循这种方法:

new_data = [[c.text.rstrip(" km²") for c in i.find_all('td')]  for i in soup.find_all('table')]

示例 html:

桌子 谢谢

标签: pythonweb-scrapingbeautifulsoup

解决方案


如果您不想要最后两个表,您可以在列表理解中跳过它们:

new_data = [[c.text.rstrip(" km²") for c in i.find_all('td')] for i in soup.find_all('table')[:-2]]

soup.find_all('table')[:-2]将在您的对象中找到所有table标签soup,减去最后的 2 个。


推荐阅读