我是一个初学者,在windows10和visualcodestudio上使用python3.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电子表格所理解的那样,当它采用循环时,每行的所有嵌套参数都统一为一个,因此如果我想要切片[0:1]=>;>;第一个和第二个“string”参数<td> </td>
,是不可能的。你知道吗
下面是一个简单的循环'for':
for alim in soup.find_all('td')[0:1]:
return alim.text
我说的对吗?有人能给我提出更聪明的解决方案吗?你知道吗
事先谢谢你的建议。 最大
有几种方法可以采用前两个元素:
1)使用带有getattr的map函数,我喜欢这种方式,因为您只对前2个元素进行迭代
2)使用切片和贴图
3)使用列表理解和切片
要清除网页,您可以尝试:
如果我理解正确的话,您的表有3+列,您只对前两列感兴趣。你知道吗
要从前两列中提取数据,有多种可能性。一种是使用CSS选择器:
印刷品:
或者可以使用列表切片:
编辑:要分析页面
http://www.bda-ieo.it/test/ComponentiAlimento.aspx?Lan=Ita&foodid=1300_2
,可以使用以下代码:印刷品:
如果返回类型是一个列表,您应该使用
[0:2]
,因为最终的数字是非包含的(但是返回将跳出循环),所以需要稍微更改:相关问题 更多 >
编程相关推荐