我試圖使用BeautifulSoup庫和im有點麻煩從自動生成的HTML表中提取IP地址。使用BeautifulSoup提取特定的TD表格元素文本?
的HTML的結構,像這樣:
<html>
<body>
<table class="mainTable">
<thead>
<tr>
<th>IP</th>
<th>Country</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="hello.html">127.0.0.1<a></td>
<td><img src="uk.gif" /><a href="uk.com">uk</a></td>
</tr>
<tr>
<td><a href="hello.html">192.168.0.1<a></td>
<td><img src="uk.gif" /><a href="us.com">us</a></td>
</tr>
<tr>
<td><a href="hello.html">255.255.255.0<a></td>
<td><img src="uk.gif" /><a href="br.com">br</a></td>
</tr>
</tbody>
</table>
小碼下面從兩個TD行中提取文本,但我只需要IP的數據,而不是IP和國家數據:
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("data.htm"))
table = soup.find('table', {'class': 'mainTable'})
for row in table.findAll("a"):
print(row.text)
這個輸出:
127.0.0.1
uk
192.168.0.1
us
255.255.255.0
br
我需要的是IP table.tbody.tr.td.a
元素文本而不是國家table.tbody.tr.td.img.a
元素。
BeautifulSoup是否有經驗豐富的用戶會對如何進行選擇和提取有所瞭解。
謝謝。
不錯的方法和有用的解決方案。 –