任何人都可以幫助我使用beautifulsoup將風味和品牌詳細資訊作為關鍵價值對。我是新手:
期望的輸出是
風味 - 青蘋果
品牌 - Carabau
html 看起來像這樣:Html 代碼 -
<tr class="a-spacing-small">
<td class="a-span3">
<span class="a-size-base a-text-bold">Flavour</span>
</td>
<td class="a-span9">
<span class="a-size-base">Green Apple</span>
</td>
<tr class="a-spacing-small">
<td class="a-span3">
<span class="a-size-base a-text-bold">Brand</span>
</td>
<td class="a-span9">
<span class="a-size-base">Carabau</span>
</td>
uj5u.com熱心網友回復:
from bs4 import BeautifulSoup
html = '''
<tr class="a-spacing-small">
<td class="a-span3">
<span class="a-size-base a-text-bold">Flavour</span>
</td>
<td class="a-span9">
<span class="a-size-base">Green Apple</span>
</td>
<tr class="a-spacing-small">
<td class="a-span3">
<span class="a-size-base a-text-bold">Brand</span>
</td>
<td class="a-span9">
<span class="a-size-base">Carabau</span>
</td>
'''
soup = BeautifulSoup(html,'html.parser')
first_element = soup.find_all('td', {'class': 'a-span3'})
second_element = soup.find_all('td', {'class': 'a-span9'})
for first_attribute,second_attribute in zip(first_element,second_element):
print("{} - {}".format(first_attribute.text.strip(),second_attribute.text.strip()))
可以使用 BeautifulSoup 完成,這將為您提供所需的輸出,如果您從 URL 讀取 HTML,則需要通過將 HTML 替換為獲取的內容原始內容來應用一些更改。
uj5u.com熱心網友回復:
你可以這樣做。
- 選擇表中的行
<tr>使用.find_all()。這將為您提供<tr>標簽串列。 - 對于每個
<tr>,獲取它的文本并按照您需要的方式列印它們。
這是完整的代碼:
from bs4 import BeautifulSoup
s = """
<tr >
<td >
<span >Flavour</span>
</td>
<td >
<span >Green Apple</span>
</td>
<tr >
<td >
<span >Brand</span>
</td>
<td >
<span >Carabau</span>
</td>
"""
soup = BeautifulSoup(s, 'lxml')
for tr in soup.find_all('tr'):
print(' - '.join(list(tr.stripped_strings)))
輸出:
Flavour - Green Apple
Brand - Carabau
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/361658.html
