首页 > 解决方案 > 切片功能开启环形

问题描述

我是一名初学者,在带有 Visual Code Studio 的 Windows 10 上使用 python 3.7.1。

作为练习,我试图从网页中抓取一些由表格组织的数据。

现在,我只想提取一些嵌套在 <td valign="top" style="width:25%;">Parte edibile, %</td><td align="left" valign="top" style="font-weight:bold;">75</td>值中的信息。作为这里的分隔符,我有<td> ... </td>

我确实尝试了很多方法来只获取每行的第一和第二,因为第三对我来说并不有趣,这只是浪费我不需要的内存。

为此,我使用了一个“for”循环,但正如我对 BeautifulSoup 电子表格的理解,当它需要一个循环时,每一行的所有嵌套参数都合并为一个,因此如果我想要 slice [0:1] = >> 第一个和第二个“字符串”参数<td> </td>,是不可能的。

这是简单的循环'for':

for alim in soup.find_all('td')[0:1]: return alim.text

我对么?任何人都可以向我提出一些更聪明的解决方案来解决我的问题?

提前感谢您的任何建议。最大限度

标签: pythonhtmlweb-scrapingbeautifulsoupslice

解决方案


如果返回类型是您应该使用的列表,[0:2]因为最终数字不包含在内(但是返回将跳出循环),因此需要稍微更改:

result = []
for alim in soup.find_all('td')[0:2]:
     result.append(alim.text)
return result

推荐阅读