Heim  >  Artikel  >  Backend-Entwicklung  >  Die kombinierte Verwendung von lxml-etree und xpath im Python-Crawler (mit Groß-/Kleinschreibung)

Die kombinierte Verwendung von lxml-etree und xpath im Python-Crawler (mit Groß-/Kleinschreibung)

不言
不言Original
2018-09-07 16:13:4012725Durchsuche

Dieser Artikel stellt Ihnen die kombinierte Verwendung von lxml-etree und xpath in Python-Crawlern vor (mit Fällen). Ich hoffe, er kann Ihnen helfen.

lxml: Pythons HTML/XML-Parser

Offizielle Website-Dokumentation: https://lxml.de/

Vor der Verwendung müssen Sie das lxml-Paket installieren

Funktion:

1. HTML analysieren: Verwenden Sie etree.HTML(text), um HTML-Fragmente im String-Format in HTML-Dokumente zu analysieren

2. XML-Dateien lesen

3. Etree und XPath zusammen verwenden

lxml-Installation

[PyCharm]>[file]>[settings]>[Project Interpreter]>[+ ] > [lxml]>[install]

Spezifische Betriebs-Screenshots:

Die kombinierte Verwendung von lxml-etree und xpath im Python-Crawler (mit Groß-/Kleinschreibung)

Die kombinierte Verwendung von lxml-etree und xpath im Python-Crawler (mit Groß-/Kleinschreibung)

Die kombinierte Verwendung von lxml-etree und xpath im Python-Crawler (mit Groß-/Kleinschreibung)

Verwendung von lxml-etree

  • Case v25-Datei: https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB /py25etree. py

  • Lxml verwenden, um HTML-Code zu analysieren

# 先安装lxml
# 用 lxml 来解析HTML代码

from lxml import etree

text = &#39;&#39;&#39;<p>
    <ul>
        <li class="item-0"><a href="0.html">item 0 </a></li>
        <li class="item-1"><a href="1.html">item 1 </a></li>
        <li class="item-2"><a href="2.html">item 2 </a></li>
        <li class="item-3"><a href="3.html">item 3 </a></li>
        <li class="item-4"><a href="4.html">item 4 </a></li>
        <li class="item-5"><a href="5.html">item 5 </a></li>
    </ul>     </p>&#39;&#39;&#39;

# 利用 etree.HTML 把字符串解析成 HTML 文件
html = etree.HTML(text)
s = etree.tostring(html).decode()

print(s)

Laufende Ergebnisse

Die kombinierte Verwendung von lxml-etree und xpath im Python-Crawler (mit Groß-/Kleinschreibung)

Verwendung von lxml-etree

  • Fall v26etree2-Datei: https://xpwi.github.io/py/py%E7%88%AC%E8 %99% AB/py26etree2.py

  • XML-Datei lesen:

# lxml-etree读取文件from lxml import etree

xml = etree.parse("./py24.xml")
sxml = etree.tostring(xml, pretty_print=True)

print(sxml)

Ergebnis ausführen

Die kombinierte Verwendung von lxml-etree und xpath im Python-Crawler (mit Groß-/Kleinschreibung)

etree und XPath werden zusammen verwendet

  • Fall v26expath Datei: https://xpwi.github.io/py/py%E7%88%AC%E8%99 %AB/ py26expath.py

  • etree und XPath werden zusammen verwendet:

# lxml-etree读取文件from lxml import etree

xml = etree.parse("./py24.xml")
print(type(xml))# 查找所有 book 节点rst = xml.xpath(&#39;//book&#39;)
print(type(rst))
print(rst)# 查找带有 category 属性值为 sport 的元素rst2 = xml.xpath(&#39;//book[@category="sport"]&#39;)

print(type(rst2))
print(rst2)# 查找带有category属性值为sport的元素的book元素下到的year元素rst3 = xml.xpath(&#39;//book[@category="sport"]/year&#39;)
rst3 = rst3[0]

print(&#39;-------------\n&#39;,type(rst3))
print(rst3.tag)
print(rst3.text)

Laufergebnisse

etree und XPath werden zusammen verwendet Ergebnis

Die kombinierte Verwendung von lxml-etree und xpath im Python-Crawler (mit Groß-/Kleinschreibung)

Verwandte Empfehlungen:

Detaillierte Erläuterung der grundlegenden Verwendung von xpath im Python-Crawler

Was ist ein Python-Crawler? Warum wird Python Crawler genannt?

Das obige ist der detaillierte Inhalt vonDie kombinierte Verwendung von lxml-etree und xpath im Python-Crawler (mit Groß-/Kleinschreibung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn