我想用lxml和xpath使用python解析值表單html。在Python中使用lxml解析HTML,xpath
這裏是我的HTML數據
<table>
<tr>
<td class="u"><input class="wide" name="record[13][name]" value="exampledomain1.com"></td>
<td class="u">
<select name="record[13][type]">
<option SELECTED value="A" >A</option>
<option value="AAAA" >AAAA</option>
<option value="CNAME" >CNAME</option>
<option value="HINFO" >HINFO</option>
<option value="MX" >MX</option>
<option value="NAPTR" >NAPTR</option>
<option value="NS" >NS</option>
<option value="PTR" >PTR</option>
<option value="SOA" >SOA</option>
<option value="SPF" >SPF</option>
<option value="SRV" >SRV</option>
<option value="SSHFP" >SSHFP</option>
<option value="TXT" >TXT</option>
<option value="RP" >RP</option>
<option value="URL" >URL</option>
<option value="MBOXFW" >MBOXFW</option>
<option value="CURL" >CURL</option>
</select>
</td>
<td class="u"><input class="wide" name="record[13][content]" value='10.10.10.1'></td>
<td class="u"><input class="wide" name="record[14][name]" value="exampledomain2.com"></td>
<td class="u">
<select name="record[14][type]">
<option SELECTED value="CNAME" >A</option>
<option value="AAAA" >AAAA</option>
<option value="CNAME" >CNAME</option>
<option value="HINFO" >HINFO</option>
<option value="MX" >MX</option>
<option value="NAPTR" >NAPTR</option>
<option value="NS" >NS</option>
<option value="PTR" >PTR</option>
<option value="SOA" >SOA</option>
<option value="SPF" >SPF</option>
<option value="SRV" >SRV</option>
<option value="SSHFP" >SSHFP</option>
<option value="TXT" >TXT</option>
<option value="RP" >RP</option>
<option value="URL" >URL</option>
<option value="MBOXFW" >MBOXFW</option>
<option value="CURL" >CURL</option>
</select>
</td>
<td class="u"><input class="wide" name="record[14][content]" value='exampledomain1.com'></td>
<td class="u"><input class="wide" name="record[15][name]" value="exampledomain3.com"></td>
<td class="u">
<select name="record[15][type]">
<option SELECTED value="A" >A</option>
<option value="AAAA" >AAAA</option>
<option value="CNAME" >CNAME</option>
<option value="HINFO" >HINFO</option>
<option value="MX" >MX</option>
<option value="NAPTR" >NAPTR</option>
<option value="NS" >NS</option>
<option value="PTR" >PTR</option>
<option value="SOA" >SOA</option>
<option value="SPF" >SPF</option>
<option value="SRV" >SRV</option>
<option value="SSHFP" >SSHFP</option>
<option value="TXT" >TXT</option>
<option value="RP" >RP</option>
<option value="URL" >URL</option>
<option value="MBOXFW" >MBOXFW</option>
<option value="CURL" >CURL</option>
</select>
</td>
<td class="u"><input class="wide" name="record[15][content]" value='10.10.10.3'></td>
</tr>
</table>
我要的是解析值和打印如下:
exampledomain1.com A 10.10.10.1
exampledomain2.com CNAME exampledomain1.com
exampledomain3.com A 10.10.10.3
這裏是我試過
#!/usr/bin/python
import lxml.html
from lxml import etree
doc = lxml.html.document_fromstring("""Here whole html data""")
txt1 = doc.xpath('//*[@class="wide"]/@value')
txt2 = doc.xpath('//@SELECTED/text()')
print txt1
print txt2
但它不是按我想要的方式工作。任何幫助,將不勝感激。
謝謝大家。
運行「xmllint --noout在您的HTML報告7個錯誤。在解析它之前,你應該修復它們。 – 2012-07-31 16:33:17
它如何「不按你想要的」工作? – 2012-07-31 17:11:49
使用BeautifulSoup ..它的簡單和容易 – Surya 2012-08-01 14:55:47