天天看點

python的lxml子產品

環境:python2.7

安裝lxml子產品

1

<code>pip </code><code>install</code> <code>lxml</code>

例子:

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<code>from</code> <code>lxml </code><code>import</code> <code>etree</code>

<code>text </code><code>=</code> <code>'''</code>

<code>&lt;div&gt;</code>

<code>    </code><code>&lt;ul&gt;</code>

<code>         </code><code>&lt;li class="item-0"&gt;&lt;a href="link1.html"&gt;first item&lt;/a&gt;&lt;/li&gt;</code>

<code>         </code><code>&lt;li class="item-1"&gt;&lt;a href="link2.html"&gt;second item&lt;/a&gt;&lt;/li&gt;</code>

<code>         </code><code>&lt;li class="item-inactive"&gt;&lt;a href="link3.html"&gt;third item&lt;/a&gt;&lt;/li&gt;</code>

<code>         </code><code>&lt;li class="item-1"&gt;&lt;a href="link4.html"&gt;fourth item&lt;/a&gt;&lt;/li&gt;</code>

<code>         </code><code>&lt;li class="item-0"&gt;&lt;a href="link5.html"&gt;fifth item&lt;/a&gt;</code>

<code>     </code><code>&lt;/ul&gt;</code>

<code> </code><code>&lt;/div&gt;</code>

<code>'''</code>

<code>html </code><code>=</code> <code>etree.HTML(text)  </code><code>#這是一個位址</code>

<code>result </code><code>=</code> <code>etree.tostring(html) </code><code>#讀出來源碼,并且補全,如輸出的《body》标簽</code>

<code>print</code><code>(result)</code>

輸出:

<code>&lt;</code><code>html</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>body</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>div</code><code>&gt; </code>

<code>           </code><code>&lt;</code><code>ul</code><code>&gt;  </code>

<code>          </code><code>&lt;</code><code>li</code> <code>class</code><code>=</code><code>"item-0"</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"link1.html"</code><code>&gt;first item&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>          </code><code>&lt;</code><code>li</code> <code>class</code><code>=</code><code>"item-1"</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"link2.html"</code><code>&gt;second item&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>          </code><code>&lt;</code><code>li</code> <code>class</code><code>=</code><code>"item-inactive"</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"link3.html"</code><code>&gt;third item&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;         </code>

<code>          </code><code>&lt;</code><code>li</code> <code>class</code><code>=</code><code>"item-1"</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"link4.html"</code><code>&gt;fourth item&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;         </code>

<code>          </code><code>&lt;</code><code>li</code> <code>class</code><code>=</code><code>"item-0"</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"link5.html"</code><code>&gt;fifth item&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>          </code><code>&lt;/</code><code>ul</code><code>&gt; </code>

<code>          </code><code>&lt;/</code><code>div</code><code>&gt; </code>

<code>        </code><code>&lt;/</code><code>body</code><code>&gt;</code>

<code>  </code><code>&lt;/</code><code>html</code><code>&gt;</code>

<code>#讀取檔案裡的内容</code>

<code>html </code><code>=</code> <code>etree.parse(</code><code>'hello.html'</code><code>)</code>

<code>result </code><code>=</code> <code>etree.tostring(html, pretty_print</code><code>=</code><code>True</code><code>)</code>

擷取li标簽裡的東西

html = etree.parse('hello.html')

print type(html)

result = html.xpath('//li')

print result

print len(result)

print type(result)

print type(result[0])

說明:此篇部落格僅僅是為了自己學習lxml子產品,故沒好好寫,下面是我微信二維碼

<a href="https://s3.51cto.com/oss/201710/26/2852890398f48fee0c11bb77eaaf87da.jpg" target="_blank"></a>

本文轉自 天道酬勤VIP 51CTO部落格,原文連結:http://blog.51cto.com/tdcqvip/1976612