Heim > Backend-Entwicklung > Python-Tutorial > Ein praktischer Austausch von Website-Crawlern

Ein praktischer Austausch von Website-Crawlern

零下一度
Freigeben: 2017-07-27 17:02:24
Original
1339 Leute haben es durchsucht

Generationshintergrund

Herausgeber

Mit der rasanten Entwicklung des Internets ist das World Wide Web zu einem Träger großer Informationsmengen geworden eine riesige Herausforderung. Suchmaschinen wie die traditionellen allgemeinen Suchmaschinen AltaVista, Yahoo! dienen als Hilfsmittel für die Suche nach Informationen und dienen den Benutzern als Zugang und Wegweiser für den Zugriff auf das World Wide Web. Diese allgemeinen Suchmaschinen weisen jedoch auch bestimmte Einschränkungen auf, wie zum Beispiel:

(1) Benutzer in unterschiedlichen Bereichen und mit unterschiedlichem Hintergrund haben häufig unterschiedliche Suchzwecke und -bedürfnisse. Die von allgemeinen Suchmaschinen zurückgegebenen Ergebnisse umfassen Webseiten, die sehr groß sind Anzahl der Benutzer ist mir egal.

(2) Das Ziel einer allgemeinen Suchmaschine ist es, eine größtmögliche Netzwerkabdeckung zu erreichen. Der Widerspruch zwischen begrenzten Suchmaschinenserverressourcen und unbegrenzten Netzwerkdatenressourcen wird sich weiter verschärfen.

(3) Aufgrund der Fülle an Datenformen im World Wide Web und der kontinuierlichen Weiterentwicklung der Netzwerktechnologie erscheinen häufig unterschiedliche Daten wie Bilder, Datenbanken, Audio- und Video-Multimedia in großen Mengen Suchen Sie nach diesen Daten, die reich an Informationen sind und eine bestimmte Struktur haben, die nicht gut entdeckt und erfasst werden kann.

(4) Die meisten allgemeinen Suchmaschinen bieten einen schlüsselwortbasierten Abruf und es ist schwierig, Abfragen basierend auf semantischen Informationen zu unterstützen.

Web Crawler

Um die oben genannten Probleme zu lösen, wurden gezielte Crawler ins Leben gerufen, die bezogene Webressourcen gezielt crawlen. Focused Crawler ist ein Programm, das Webseiten und verwandte Links im World Wide Web automatisch herunterlädt, basierend auf festgelegten Crawling-Zielen, um die erforderlichen Informationen zu erhalten. Im Gegensatz zu Allzweck-Webcrawlern streben fokussierte Crawler keine große Abdeckung an, sondern setzen sich das Ziel, Webseiten zu crawlen, die sich auf einen bestimmten Themeninhalt beziehen, und Datenressourcen für themenorientierte Benutzerabfragen vorzubereiten.

1 Konzentrieren Sie sich auf das Funktionsprinzip von Crawlern und einen Überblick über Schlüsseltechnologien

Ein Webcrawler ist ein Programm, das Webseiten automatisch aus dem World Wide Web für Suchmaschinen herunterlädt und ist ein wichtiger Bestandteil von Suchmaschinen. Der herkömmliche Crawler beginnt mit der URL einer oder mehrerer anfänglicher Webseiten und ruft die URL auf der ursprünglichen Webseite ab. Während des Crawlens der Webseite extrahiert er kontinuierlich neue URLs von der aktuellen Seite und stellt sie in die Warteschlange, bis sie sicher sind Stoppbedingungen des Systems erfüllt sind. Der Arbeitsablauf des fokussierten Crawlers ist komplizierter. Er muss Links, die nichts mit dem Thema zu tun haben, nach einem bestimmten Webseitenanalysealgorithmus filtern, nützliche Links behalten und sie in die URL-Warteschlange stellen, die darauf wartet, gecrawlt zu werden. Anschließend wählt es gemäß einer bestimmten Suchstrategie die als nächstes zu crawlende Webseiten-URL aus der Warteschlange aus und wiederholt den obigen Vorgang, bis er stoppt, wenn ein bestimmter Zustand des Systems erreicht ist. Darüber hinaus werden alle von Crawlern gecrawlten Webseiten vom System gespeichert und einer bestimmten Analyse, Filterung und Indizierung für nachfolgende Abfragen und Abrufe unterzogen. Die in diesem Prozess erhaltenen Analyseergebnisse können auch Feedback und Anleitung geben zukünftige Crawling-Prozesse.

Im Vergleich zu allgemeinen Webcrawlern müssen fokussierte Crawler auch drei Hauptprobleme lösen:

(1) Beschreibung oder Definition des Crawling-Ziels; >(2) Analyse und Filterung von Webseiten oder Daten;

(3) Suchstrategie für URLs.

Der Website-Crawler crawlt hauptsächlich alle Artikelinhalte und Titel unter dem Blog und speichert sie im Datenverzeichnis. Die Details lauten wie folgt:

import requestsimport re

url = ''def get_html(url):#打开url并获取该url的所有html信息html_content = requests.get(url).text#从html_conten所有的html信息中匹配到所有博客的超链接地址href_list = re.findall(r'href=\"(.*)\"\>(.*)\<\/a\>', html_content)for line in href_list:#打开超链接地址line_html = requests.get(line[0])
        conten = line[1]
        line_content = line_html.text
        line_encoding = line_html.encodingprint('文章标题:%s,文章编码:%s'%(conten, line_encoding))
get_html(url)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEin praktischer Austausch von Website-Crawlern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage