<p>如果我理解正确的话,您的表有3+列,您只对前两列感兴趣。你知道吗</p>
<p>要从前两列中提取数据,有多种可能性。一种是使用CSS选择器:</p>
<pre><code>data = '''
<table>
<tr>
<td valign="top" style="width:25%;">I. Parte edibile, %</td>
<td align="left" valign="top" style="font-weight:bold;">I. 75</td>
<td>This doesn't interest me</td>
</tr>
<tr>
<td valign="top" style="width:25%;">II. Parte edibile, %</td>
<td align="left" valign="top" style="font-weight:bold;">II. 75</td>
<td>II. This doesn't interest me</td>
</tr>
<tr>
<td valign="top" style="width:25%;">III. Parte edibile, %</td>
<td align="left" valign="top" style="font-weight:bold;">III. 75</td>
<td>III. This doesn't interest me</td>
</tr>
</table>'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(data, 'html.parser')
for col1, col2 in zip(soup.select('td:nth-of-type(1)'), soup.select('td:nth-of-type(2)')):
print('{: <25} {}'.format(col1.text, col2.text))
</code></pre>
<p>印刷品:</p>
<pre><code>I. Parte edibile, % I. 75
II. Parte edibile, % II. 75
III. Parte edibile, % III. 75
</code></pre>
<hr/>
<p>或者可以使用列表切片:</p>
<pre><code>rows = []
for tr in soup.select('tr'):
rows.append([td.text for td in tr.select('td')[0:2]])
for row in rows:
print('{: <25} {}'.format(*row))
</code></pre>
<hr/>
<p>编辑:要分析页面<code>http://www.bda-ieo.it/test/ComponentiAlimento.aspx?Lan=Ita&foodid=1300_2</code>,可以使用以下代码:</p>
<pre><code>from bs4 import BeautifulSoup
import requests
url = 'http://www.bda-ieo.it/test/ComponentiAlimento.aspx?Lan=Ita&foodid=1300_2'
soup = BeautifulSoup(requests.get(url).text, 'html.parser')
for col1, col2 in zip(soup.select('#tblComponenti > tr.testonormale > td:nth-of-type(1)'), soup.select('#tblComponenti > tr.testonormale > td:nth-of-type(2)')):
print('{: <70} {}'.format(col1.text, col2.text))
</code></pre>
<p>印刷品:</p>
<pre><code>Parte edibile, % 75
Energia, ricalcolata, kJ 406
Energia, Ric con fibra, kJ 406
Energia, ricalcolata, kcal 96
Energia, Ric con fibra, kcal 96
Proteine totali, g 16,8
Proteine animali, g 16,8
Proteine vegetali, g 0,0
Lipidi totali, g 2,6
Lipidi animali, g 2,6
Lipidi vegetali, g 0,0
Colesterolo, mg 61
Carboidrati disponibili (MSE), g 1,5
Amido (MSE), g 0,0
Carboidrati solubili (MSE), g 1,5
Fibra alimentare totale, g 0,0
Alcol, g 0,0
Acqua, g 76,5
Ferro, mg 2,8
Calcio, mg 148
Sodio, mg 104
Potassio, mg 278
Fosforo, mg 196
Zinco, mg 4,20
Magnesio, mg 22
Rame, mg 1,00
Selenio, µg 37,0
Cloro, mg 130
Iodio, µg 29
Manganese, mg 0,07
Zolfo, mg 150
Vitamina B1, Tiamina, mg 0,06
Vitamina B2, Riboflavina, mg 0,26
Vitamina C, mg 0
Niacina, mg 14,00
Vitamina B6, mg 0,14
Folati totali, µg 9
Acido pantotenico, mg 0,65
Biotina, µg 6,0
Vitamina B12, µg 0,6
Retinolo equivalente 32
Retinolo eq. (RE), µg 32
Retinolo, µg tr
ß-carotene eq., µg 0,29
Vitamina E (ATE), mg 11,00
Vitamina D, µg 1,30
Acidi grassi saturi totali, g 0,00
Somma degli acidi butirrico, caproico, caprilico e caprico, g 0,00
Acido laurico, g 0,14
Acido miristico, g 1,01
Acido palmitico, g 0,13
Acido stearico, g tr
Acido arachidico, g 0,00
Acido beenico, g 0,40
Acidi grassi monoinsaturi totali, g 0,00
Acido miristoleico, g 0,10
Acido palmitoleico, g 0,17
Acido oleico, g 0,01
Acidi eicosenoico, g 0,01
Acido erucico, g 0,85
Acidi grassi polinsaturi totali, g 0,01
Acido linoleico, g 0,01
Acido linolenico, g tr
Acido arachidonico, g 0,27
Acido eicosapentaenoico (EPA), g 0,52
Acido decosaesaenoico (DHA), g 0,04
Altri acidi grassi polinsaturi, g 175
Triptofano, mg 726
Treonina, mg 823
Isoleucina, mg 1330
Leucina, mg 1379
Lisina, mg 349
Metionina, mg 183
Cistina, mg 595
Fenilalanina, mg 425
Tirosina, mg 759
Valina, mg 758
Arginina, mg 675
Istidina, mg 919
Alanina, mg 1764
Acido aspartico, mg 2261
Acido glutammico, mg 722
Glicina, mg 460
Prolina, mg 650
Serina, mg 1,5
Glucosio, g 0,0
Fruttosio, g 0,0
Galattosio, g 0,0
Saccarosio (MSE), g 0,0
Maltosio (MSE), g 0,0
</code></pre>