Heim Backend-Entwicklung Python-Tutorial Wie Scrapy HTML-Code analysiert

Wie Scrapy HTML-Code analysiert

Jun 22, 2023 pm 09:25 PM
scrapy解析html html解析编程 scrapy html爬虫

Scrapy ist ein Python-basiertes Webcrawler-Framework, das Daten auf Websites einfach crawlen und analysieren kann. Bei der Verwendung von Scrapy ist das Parsen von HTML-Code ein wesentlicher Bestandteil. In diesem Artikel wird vorgestellt, wie Scrapy HTML-Code analysiert, um den Lesern ein tieferes Verständnis für die Verwendung von Scrapy zu vermitteln.

1. Das Prinzip der Scrapy-Analyse von HTML-Code
In Scrapy gibt es zwei Möglichkeiten, HTML-Code zu analysieren: XPath und CSS Selector. XPath ist eine XML-Pfadsprache, die Knoten eines XML-Dokuments durchlaufen und auswählen kann. CSS Selector ist ein CSS-Stilselektor, der Elemente auf der Seite über eine CSS-ähnliche Syntax auswählt. Wenn Sie Scrapy zum Parsen von HTML-Code verwenden, können Sie basierend auf der Struktur der Seite und der Art der Daten, die erfasst werden müssen, verschiedene Parsing-Methoden auswählen.

2. XPath analysiert HTML-Code
XPath ist eine gängige Methode zum Parsen von HTML-Code in Scrapy. Um XPath zu verwenden, können Sie die lxml-Bibliothek oder die mit Scrapy gelieferte Selector-Bibliothek verwenden. Im Folgenden verwenden wir Selector in Scrapy als Beispiel, um die Verwendung von XPath vorzustellen.

Zuerst müssen wir den Quellcode der Seite abrufen, was mit der Request-Bibliothek von Scrapy erreicht werden kann.

1

2

3

4

5

6

7

from scrapy import Request

 

def parse(self, response):

    yield Request(url='http://example.com', callback=self.parse_page)

  

def parse_page(self, response):

    html = response.body

Nach dem Login kopieren
Nach dem Login kopieren

Als nächstes können wir die Selector-Bibliothek verwenden, um den HTML-Code zu analysieren. Erstellen Sie zunächst ein Selector-Objekt.

1

2

3

from scrapy.selector import Selector

 

selector = Selector(text=html)

Nach dem Login kopieren
Nach dem Login kopieren

Dann können wir die XPath-Syntax verwenden, um die erforderlichen Elemente auszuwählen. Häufig verwendete XPath-Syntaxen sind wie folgt:

  1. Elemente auswählen

1

2

3

selector.xpath('//title') #选取所有的title元素

selector.xpath('//div[@class="example"]') #选取class为example的div元素

selector.xpath('//div[contains(@class, "example")and @id="content"]')#选取class包含example、id为content的div元素

Nach dem Login kopieren
  1. Elementattribute auswählen

1

selector.xpath('//a/@href') #选取所有a标签的href属性

Nach dem Login kopieren
  1. Elementtext auswählen

1

2

selector.xpath('//h1/text()') #选取h1标签的文本内容

selector.xpath('//p[contains(text(), "example")]/text()')#选取p标签中包含example文本内容的文本

Nach dem Login kopieren

Oben wird beschrieben, wie XPath in Scrapy verwendet wird.

3. CSS Selector analysiert HTML-Code.
CSS Selector ist eine weitere häufig verwendete Methode zum Parsen von HTML-Code in Scrapy. Im Gegensatz zu XPath verwendet CSS Selector die Syntax von CSS-Stilselektoren. Im Folgenden verwenden wir den mit Scrapy gelieferten Selector als Beispiel, um die Verwendung von CSS Selector vorzustellen.

Zuerst müssen wir den Quellcode der Seite abrufen, was mit der Request-Bibliothek von Scrapy erreicht werden kann.

1

2

3

4

5

6

7

from scrapy import Request

 

def parse(self, response):

    yield Request(url='http://example.com', callback=self.parse_page)

  

def parse_page(self, response):

    html = response.body

Nach dem Login kopieren
Nach dem Login kopieren

Als nächstes können wir die Selector-Bibliothek verwenden, um den HTML-Code zu analysieren. Oder erstellen Sie zuerst ein Selector-Objekt.

1

2

3

from scrapy.selector import Selector

 

selector = Selector(text=html)

Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie die CSS-Selektor-Syntax, um Elemente auszuwählen.

1

2

3

4

5

6

selector.css('title') #选取所有的title元素

selector.css('div.example') #选取class为example的div元素

selector.css('div.example#content')#选取class为example、id为content的div元素

selector.css('a::attr(href)') #选取所有a标签的href属性

selector.css('h1::text') #选取h1标签的文本内容

selector.css('p:contains("example")::text') #选取p标签中包含example文本内容的文本

Nach dem Login kopieren

Oben erfahren Sie, wie Sie den CSS-Selektor in Scrapy verwenden.

4. Zusammenfassung
In der Einleitung dieses Artikels sehen wir zwei Methoden für Scrapy zum Parsen von HTML-Code: XPath und CSS Selector. Mit diesen beiden Methoden können wir die benötigten Daten einfach aus HTML auswählen. Es ist zu beachten, dass bei der Auswahl einer Parsing-Methode die geeignete Methode und Syntax basierend auf der Struktur der Seite und der Art der zu extrahierenden Daten ausgewählt werden muss.

Das obige ist der detaillierte Inhalt vonWie Scrapy HTML-Code analysiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie benutze ich eine schöne Suppe, um HTML zu analysieren? Wie benutze ich eine schöne Suppe, um HTML zu analysieren? Mar 10, 2025 pm 06:54 PM

Wie benutze ich eine schöne Suppe, um HTML zu analysieren?

Bildfilterung in Python Bildfilterung in Python Mar 03, 2025 am 09:44 AM

Bildfilterung in Python

So herunterladen Sie Dateien in Python So herunterladen Sie Dateien in Python Mar 01, 2025 am 10:03 AM

So herunterladen Sie Dateien in Python

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden Mar 05, 2025 am 09:58 AM

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden

Intro zu Flask: Hinzufügen einer Kontaktseite Hinzufügen Intro zu Flask: Hinzufügen einer Kontaktseite Hinzufügen Feb 28, 2025 am 10:03 AM

Intro zu Flask: Hinzufügen einer Kontaktseite Hinzufügen

Wie man mit PDF -Dokumenten mit Python arbeitet Wie man mit PDF -Dokumenten mit Python arbeitet Mar 02, 2025 am 09:54 AM

Wie man mit PDF -Dokumenten mit Python arbeitet

Wie kann man mit Redis in Django -Anwendungen zwischenstrichen Wie kann man mit Redis in Django -Anwendungen zwischenstrichen Mar 02, 2025 am 10:10 AM

Wie kann man mit Redis in Django -Anwendungen zwischenstrichen

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch? Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch? Mar 10, 2025 pm 06:52 PM

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch?

See all articles