我正在嘗試從網頁表中獲取資訊。
https://grs.icarda.org/accessions/?IG=46860
我想從第二個表中“收集資訊”。但是沒有標簽或 ID 可以輕松決議資料。
table = soup.find('td', colspan='9')
table_data = soup.find('td', {'width':'150px', 'height':'26px'})
這是HTML
<tbody><tr><td colspan="9" style=" background-color: #FFFFFF; font-weight: bold; height:33px;">Collecting information</td></tr>
<tr style="background-color:#d7d4d4; height:26px;"><td style="vertical-align:middle;">Mission code:</td><td style="width:5px;"></td><td style="vertical-align:middle;">TUR79-2</td> <td width="20"></td></tr>
<tr><td style="width:250px; height:26px;">Mission title:</td><td width="5"></td><td>M.J. Metzger, S.Jana (USDA report)</td></tr>
<tr style="background-color:#d7d4d4; height:26px;"><td style="vertical-align:middle;">Country :</td><td style="width:5px;"></td><td colspan="2" style="vertical-align:middle;"><img style="vertical-align:middle; width:24px; height:24px;" src="../images/flags/TUR.png"><span style="vertical-align:middle;"> Turkey</span></td></tr><tr>
</tr><tr><td style="width:150px; height:26px;">Site Code:</td><td width="5"></td><td colspan="2">TUR79-2:12</td></tr><tr style="background-color:#d7d4d4; height:26px;"><td style="width:150px; height:26px;">Collectors:</td><td width="5"></td><td colspan="2">J.A. Hoffmann - M. Kanbertay - M.J. Metzger - H. Sencer</td></tr><tr style=" height:26px;"><td style="width:150px; height:26px;">Collect Date:</td><td width="5"></td><td colspan="2">1979/08/09</td></tr>
<tr style="background-color:#d7d4d4;"><td style=" width:150px; height:26px;">Collector's number:</td><td width="5"></td><td colspan="2">79TK012-057</td></tr><tr style=" height:26px;"><td style="width:150px; height:26px;">Admin 1:</td><td width="5"></td><td colspan="2">Malatya Province</td></tr><tr style=" background-color:#d7d4d4;height:26px;"><td style="width:150px; height:26px;">Admin 2:</td><td width="5"></td><td colspan="2"></td></tr><tr style="height:26px;"><td style="width:150px; height:26px;">Collecting site:</td><td width="5"></td><td colspan="2">5 km S of Darende</td></tr>
</tbody>
uj5u.com熱心網友回復:
您可以使用具有 read_html() 的 pandas,它回傳頁面上每個表的資料框串列。該表是第三個(索引 2),因此此代碼可以幫助您。得到表格后,我將兩列放入一個字典中:
import pandas as pd
df = pd.read_html('https://grs.icarda.org/accessions/?IG=46860')[2] #3rd table
col1 = df[0]
col2 = df[2]
zipped = zip(col1,col2)
output = {}
for x,y in zipped:
output[x] = y
print(output)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/415155.html
標籤:
