我想解析一個HTML頁面並獲取表值。例如解析它以獲取字典列表。每個列表元素將是與表中的一行相對應的字典。將HTML表解析爲Groovy列表?
假設該表是:
表
<table style="width:100%">
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
結果
[Jill, Smith, 50]
[Eve, Jackson, 94]
我通過兩種途徑實現這一目標:
使用XPath:
page.body.div.table.tr.time;
使用封這樣的:
page."**".findAll { [email protected]().contains("time")}.each {
兩種途徑都使用的XmlSlurper:
@Grab(group='org.ccil.cowan.tagsoup', module='tagsoup', version='1.2')
def parser = new XmlSlurper(new org.ccil.cowan.tagsoup.Parser())
那麼,有沒有獲得表值的另一種方式使用groovy
感謝您的幫助!
由於需要第三種方法,上述任何一種方式的問題? – dmahapatro
您的示例html中的某些內容應該包含「time」類 –
1)第一種方法主要關注的是硬編碼解決方案。這不是敏捷。如果結構發生變化,則可能會返回意外的結果。第二種方法是我現在更喜歡的方式。這裏唯一的問題是計算成本和一些情況下正則表達式的需要。我正在尋找類似於以下的通用解決方案:http://stackoverflow.com/questions/6325216/parse-html-table-to-python-list – Vanko