Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Nehmen wir an, Sie sind ein Webentwickler, ein Grafikdesigner, ein Forscher, ein Journalist oder ein Student, kurz gesagt, eine Person, die an ihrem eigenen Projekt arbeitet. In diesem Fall benötigen Sie natürlich Bilder für Ihr Projekt während des Entwicklungsprozesses. Um Bilder manuell von einer Website herunterzuladen, müssen Sie sehr viel Zeit aufwenden. Sie müssen jede Bild-URL kopieren und dann das Bild speichern, aber Sie können Aspose.HTML for .NET library verwenden, um Bilder programmatisch aus einer Website zu extrahieren.
In diesem Artikel sehen wir uns an, wie man von der Website verschiedene Arten von Bildern mit Aspose.HTML for .NET API zu extrahieren. Mit unserer C#-Bibliothek können Sie Bilder von einer Website herunterladen. Es ist besser als zu graben und suchen Sie nach ihnen manuell. Versuchen wir es! Extrahieren Sie Bilder von Webseiten programmatisch!
Die meisten Bilder in einem HTML-Dokument werden durch das Element <img> dargestellt. Hier ist ein Beispiel für die Verwendung von Aspose.HTML for .NET, um Bilder zu finden, die durch dieses Element angegeben werden. Um also Bilder von einer Website herunterzuladen, sollten Sie die folgenden Schritte ausführen:
HTMLDocument zu erstellen, und übergeben Sie ihm die URL der Website, von der Sie Bilder finden möchten.<img>-Elemente zu sammeln. Die Methode gibt eine Liste der <img>-Elemente des HTML-Dokuments zurück.Select(), um eine eigene Sammlung von relativen Bild-URLs zu erstellen, und die Methode
GetAttribute(“src”), um das Attribut src jedes Elements <img> zu extrahieren.HTMLDocument.File.WriteAllBytes(), um jedes Bild in einer lokalen Datei zu speichern. 1// Extract images from website using C#
2
3// Load a webpage that contains <img> elements
4using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/tutorial/html-colors/");
5
6// Collect all <img> elements
7HTMLCollection images = document.GetElementsByTagName("img");
8
9// Extract distinct src values and skip empty and data URI sources
10IEnumerable<string> sources = images
11 .Select(image => image.GetAttribute("src"))
12 .Where(src => !string.IsNullOrWhiteSpace(src) &&
13 !src.StartsWith("data:", StringComparison.OrdinalIgnoreCase))
14 .Distinct();
15
16foreach (string src in sources)
17{
18 // Resolve the image URL against the document base URI
19 Url imageUrl = new Url(src, document.BaseURI);
20
21 using RequestMessage request = new RequestMessage(imageUrl);
22 using ResponseMessage response = document.Context.Network.Send(request);
23
24 if (!response.IsSuccess)
25 continue;
26
27 string fileName = Path.GetFileName(imageUrl.Pathname);
28
29 if (string.IsNullOrWhiteSpace(fileName))
30 continue;
31
32 File.WriteAllBytes(Path.Combine(OutputDir, fileName), response.Content.ReadAsByteArray());
33}Hinweis: Es ist wichtig, die Urheberrechtsgesetze zu beachten und eine ordnungsgemäße Genehmigung oder Lizenzierung einzuholen, bevor gespeicherte Bilder für kommerzielle Zwecke verwendet werden. Wir unterstützen keine Datenextraktion und keine Verwendung von Dateien anderer Personen für kommerzielle Zwecke ohne deren Erlaubnis.
Icons sind eine Art von Bildern in HTML-Dokumenten, die durch <link>-Elemente mit dem rel-Attribut auf icon festgelegt werden. Schauen wir uns an, wie man mit der Aspose.HTML for .NET-Bibliothek Icons aus einer Website extrahieren kann:
HTMLDocument zu erstellen, und übergeben Sie ihm die URL der Website, aus der Sie Symbole extrahieren möchten.<link>-Elemente zu sammeln.Where(), die die Sammlung auf der Grundlage des Ausdrucks link => link.GetAttribute("rel") == "icon" filtert. Somit wird die Sammlung “icons” nur “links” mit einem rel-Attribut mit dem Wert “icon” enthalten.Select(), um eine eindeutige Sammlung von relativen Symbol-URLs zu erstellen, und die Methode
GetAttribute(“href”), um das Attribut href jedes <link>-Elements zu extrahieren.HTMLDocument.File.WriteAllBytes(), um die Symbole in einer lokalen Datei zu speichern. Als Ergebnis haben Sie eine Sammlung von Symbolen von der Website in Ihrem lokalen Ordner. 1// Download icons from website using C#
2
3using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
4
5// Collect all <link> elements
6HTMLCollection links = document.GetElementsByTagName("link");
7
8string[] iconTypes =
9{
10 "icon",
11 "apple-touch-icon",
12 "apple-touch-icon-precomposed",
13 "mask-icon"
14};
15
16// Select links whose rel attribute contains an icon-related token
17IEnumerable<Element> icons = links.Where(link =>
18 link.GetAttribute("rel")
19 .Split()
20 .Any(token => iconTypes.Contains(
21 token,
22 StringComparer.OrdinalIgnoreCase)));
23
24// Extract distinct href values and skip empty and data URI sources
25IEnumerable<string> sources = icons
26 .Select(icon => icon.GetAttribute("href"))
27 .Where(href => !string.IsNullOrWhiteSpace(href) &&
28 !href.StartsWith("data:", StringComparison.OrdinalIgnoreCase))
29 .Distinct();
30
31foreach (string src in sources)
32{
33 // Resolve the icon URL against the document base URI
34 Url iconUrl = new Url(src, document.BaseURI);
35
36 using RequestMessage request = new RequestMessage(iconUrl);
37 using ResponseMessage response = document.Context.Network.Send(request);
38
39 if (!response.IsSuccess)
40 continue;
41
42 string fileName = Path.GetFileName(iconUrl.Pathname);
43
44 if (string.IsNullOrWhiteSpace(fileName))
45 continue;
46
47 File.WriteAllBytes(Path.Combine(OutputDir, fileName), response.Content.ReadAsByteArray());
48}Mit diesen C#-Beispielen können Sie das Extrahieren aller Bilder aus einer Website automatisieren, was für Aufgaben wie Archivierung, Recherche, Analyse von Webinhalten oder jede andere Anwendung für den persönlichen Gebrauch hilfreich sein kann. Auch für Webdesigner und Entwickler, die Bilder von Websites extrahieren möchten, ohne in den Quellcode eintauchen zu müssen, ist dies eine großartige Lösung.
Sie können die vollständigen C#-Beispiele und Datendateien von GitHub herunterladen.
Aspose.HTML bietet HTML-Webanwendungen, die eine Online-Sammlung von kostenlosen Konvertern, Zusammenführungen, SEO-Tools, HTML-Code-Generatoren, URL-Tools und mehr sind. Die Anwendungen funktionieren auf jedem Betriebssystem mit einem Webbrowser und erfordern keine zusätzliche Softwareinstallation. Konvertieren, fusionieren, kodieren, generieren Sie HTML-Code, extrahieren Sie Daten aus dem Web oder analysieren Sie Webseiten im Hinblick auf SEO, wo immer Sie sind. Nutzen Sie unsere Sammlung von HTML-Webanwendungen, um Ihre täglichen Aufgaben zu erledigen und Ihren Arbeitsablauf nahtlos zu gestalten!
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.