Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 6th, 2012  |  syntax: None  |  size: 3.63 KB  |  hits: 10  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Parse HTML in Python using lxml, xpath
  2. <table>
  3. <tr>
  4. <td class="u"><input class="wide" name="record[13][name]" value="exampledomain1.com"></td>
  5.       <td class="u">
  6.        <select name="record[13][type]">
  7.          <option SELECTED value="A" >A</option>
  8.          <option value="AAAA" >AAAA</option>
  9.          <option value="CNAME" >CNAME</option>
  10.          <option value="HINFO" >HINFO</option>
  11.          <option value="MX" >MX</option>
  12.          <option value="NAPTR" >NAPTR</option>
  13.          <option value="NS" >NS</option>
  14.          <option value="PTR" >PTR</option>
  15.          <option value="SOA" >SOA</option>
  16.          <option value="SPF" >SPF</option>
  17.          <option value="SRV" >SRV</option>
  18.          <option value="SSHFP" >SSHFP</option>
  19.          <option value="TXT" >TXT</option>
  20.          <option value="RP" >RP</option>
  21.          <option value="URL" >URL</option>
  22.          <option value="MBOXFW" >MBOXFW</option>
  23.          <option value="CURL" >CURL</option>
  24.        </select>
  25.       </td>
  26.       <td class="u"><input class="wide" name="record[13][content]" value='10.10.10.1'></td>
  27.  
  28. <td class="u"><input class="wide" name="record[14][name]" value="exampledomain2.com"></td>
  29.       <td class="u">
  30.        <select name="record[14][type]">
  31.          <option SELECTED value="CNAME" >A</option>
  32.          <option value="AAAA" >AAAA</option>
  33.          <option value="CNAME" >CNAME</option>
  34.          <option value="HINFO" >HINFO</option>
  35.          <option value="MX" >MX</option>
  36.          <option value="NAPTR" >NAPTR</option>
  37.          <option value="NS" >NS</option>
  38.          <option value="PTR" >PTR</option>
  39.          <option value="SOA" >SOA</option>
  40.          <option value="SPF" >SPF</option>
  41.          <option value="SRV" >SRV</option>
  42.          <option value="SSHFP" >SSHFP</option>
  43.          <option value="TXT" >TXT</option>
  44.          <option value="RP" >RP</option>
  45.          <option value="URL" >URL</option>
  46.          <option value="MBOXFW" >MBOXFW</option>
  47.          <option value="CURL" >CURL</option>
  48.        </select>
  49.       </td>
  50.       <td class="u"><input class="wide" name="record[14][content]" value='exampledomain1.com'></td>
  51.  
  52. <td class="u"><input class="wide" name="record[15][name]" value="exampledomain3.com"></td>
  53.       <td class="u">
  54.        <select name="record[15][type]">
  55.          <option SELECTED value="A" >A</option>
  56.          <option value="AAAA" >AAAA</option>
  57.          <option value="CNAME" >CNAME</option>
  58.          <option value="HINFO" >HINFO</option>
  59.          <option value="MX" >MX</option>
  60.          <option value="NAPTR" >NAPTR</option>
  61.          <option value="NS" >NS</option>
  62.          <option value="PTR" >PTR</option>
  63.          <option value="SOA" >SOA</option>
  64.          <option value="SPF" >SPF</option>
  65.          <option value="SRV" >SRV</option>
  66.          <option value="SSHFP" >SSHFP</option>
  67.          <option value="TXT" >TXT</option>
  68.          <option value="RP" >RP</option>
  69.          <option value="URL" >URL</option>
  70.          <option value="MBOXFW" >MBOXFW</option>
  71.          <option value="CURL" >CURL</option>
  72.        </select>
  73.       </td>
  74.       <td class="u"><input class="wide" name="record[15][content]" value='10.10.10.3'></td>
  75. </tr>
  76. </table>
  77.        
  78. exampledomain1.com A 10.10.10.1
  79. exampledomain2.com CNAME exampledomain1.com
  80. exampledomain3.com A 10.10.10.3
  81.        
  82. #!/usr/bin/python
  83. import lxml.html
  84. from lxml import etree
  85.  
  86. doc = lxml.html.document_fromstring("""Here whole html data""")
  87. txt1 = doc.xpath('//*[@class="wide"]/@value')
  88. txt2 = doc.xpath('//@SELECTED/text()')
  89. print txt1
  90. print txt2
  91.        
  92. (py26_default)[mpenning@Bucksnort ~]$ python parse.py
  93. exampledomain1.com 10.10.10.1
  94. exampledomain2.com exampledomain1.com
  95. exampledomain3.com 10.10.10.3
  96. (py26_default)[mpenning@Bucksnort ~]$