Detaillierte Erläuterung der Verwendung von HTMLParser (1)
Bei der Erforschung der Entwicklung von Suchmaschinen ist die Verarbeitung von HTML-Webseiten ein zentraler Link. Es gibt viele Open-Source-Codes im Internet. HTMLParser ist ein bekannter und weit verbreiteter Code. Die Homepage von HTMLParser ist http://htmlparser.sourceforge.net/ und das letzte Update war Version 1.6 im September 2006. Aber das macht nichts, der Inhalt von HTML hat sich seit langem nicht wesentlich verändert und HTMLParser hat im Grunde kein Problem damit, ihn zu verarbeiten. HTMLParser hat den Vorteil, kompakt und schnell zu sein. Der Nachteil besteht darin, dass es relativ wenige relevante Dokumente (und nur wenige auf Englisch) gibt und viele Funktionen selbst erkundet werden müssen. Für Anfänger ist es immer noch etwas mühsam, aber wenn Sie einmal angefangen haben, werden Sie feststellen, dass das strukturelle Design von HTMLParser sehr clever und sehr praktisch ist und grundsätzlich Ihre verschiedenen Anforderungen erfüllen kann.
Hier habe ich einige Einführungen geschrieben, die auf meinen Erfahrungen in den letzten Monaten basieren. Ich hoffe, dass sie für Freunde hilfreich sein werden, die neu bei HTMLParser sind. (Mein Chinesisch-Ergebnis bei der College-Aufnahmeprüfung war jedoch nur einen Punkt höher als das Bestehen, daher hoffe ich, dass mir bei den grammatikalischen Fragen jeder folgen wird.)
Das Kernmodul von HTMLParser ist der org.htmlparser.Parser Diese Klasse schließt tatsächlich die Verarbeitung von HTML-Seiten ab. Diese Klasse verfügt über die folgenden Konstruktoren:
public Parser (); public Parser (Lexer lexer, ParserFeedback fb); public Parser (URLConnection connection, ParserFeedback fb) throws ParserException; public Parser (String resource, ParserFeedback feedback) throws ParserException; public Parser (String resource) throws ParserException; public Parser (Lexer lexer); public Parser (URLConnection connection) throws ParserException; 和一个静态类 public static Parser createParser (String html, String charset);
Für die meisten Benutzer besteht die am häufigsten verwendete Methode darin, den Parser über eine URLConnection oder eine Zeichenfolge zu initialisieren, die den Webseiteninhalt enthält, oder statische Funktionen zum Generieren zu verwenden ein Parser-Objekt. Der Code von ParserFeedback ist sehr einfach und für das Debuggen und Verfolgen von Analyseprozessen konzipiert und muss im Allgemeinen nicht geändert werden. Die Verwendung von Lexer ist ein relativ fortgeschrittenes Thema und wird später besprochen.
Der interessantere Punkt hier ist, dass, wenn Sie die Kodierungsmethode der Seite festlegen müssen, die einzige Möglichkeit darin besteht, statische Funktionen zu verwenden, ohne Lexer zu verwenden. Für die meisten chinesischen Seiten scheint dies eine Methode zu sein, die häufiger verwendet werden sollte.
Das Folgende ist ein Beispiel für die Initialisierung von Parser.
/** * @author www.baizeju.com */ package com.baizeju.htmlparsertester; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.FileInputStream; import java.io.File; import java.net.HttpURLConnection; import java.net.URL; import org.htmlparser.visitors.TextExtractingVisitor; import org.htmlparser.Parser; /** * @author www.baizeju.com */ public class Main { private static String ENCODE = "GBK"; private static void message( String szMsg ) { try{ System.out.println(new String(szMsg.getBytes(ENCODE), System.getProperty("file.encoding"))); } catch(Exception e ){} } public static String openFile( String szFileName ) { try { BufferedReader bis = new BufferedReader(new InputStreamReader(new FileInputStream( new File(szFileName)), ENCODE) ); String szContent=""; String szTemp; while ( (szTemp = bis.readLine()) != null) { szContent+=szTemp+"/n"; } bis.close(); return szContent; } catch( Exception e ) { return ""; } } public static void main(String[] args) { String szContent = openFile( "E:/My Sites/HTMLParserTester.html"); try{ //Parser parser = Parser.createParser(szContent, ENCODE); //Parser parser = new Parser( szContent ); Parser parser = new Parser( (HttpURLConnection) (new URL("http://127.0.0.1:8080/HTMLParserTester.html")).openConnection() ); TextExtractingVisitor visitor = new TextExtractingVisitor(); parser.visitAllNodesWith(visitor); String textInPage = visitor.getExtractedText(); message(textInPage); } catch( Exception e ) { } } }
Der hervorgehobene Teil testet mehrere verschiedene Initialisierungsmethoden. Die Ergebnisse werden unten angezeigt. Solange Sie sehen können, dass Parser Inhalte ausgeben kann, werden wir später besprechen, wie Sie auf Parser-Inhalte zugreifen.
Das Obige ist die detaillierte Erklärung der Verwendung von HTMLParser (1). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

Leitfaden für HTML-Eingabeplatzhalter. Hier besprechen wir die Beispiele für HTML-Eingabeplatzhalter zusammen mit den Codes und Ausgaben.

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.
