cURL: Was es ist, und wie Sie es für Web Scraping verwenden können

cURL ist ein vielseitiger Befehl, der von Programmierern zur Datenerfassung und -übertragung verwendet wird. Aber wie können Sie cURL für Web Scraping nutzen? Dieser Artikel wird Ihnen den Einstieg erleichtern.
7 min read

In diesem Blogbeitrag beantworten wir folgende Fragen:

Was ist cURL?

 

cURL ist ein Kommandozeilen-Tool, mit dem Sie Daten über Netzwerkprotokolle übertragen können. Der Name cURL steht für „Client URL“ und kann auch „curl“ geschrieben werden. Dieser beliebte Befehl verwendet die URL-Syntax, um Daten zu und von Servern zu übertragen. Curl basiert auf „libcurl“, einer kostenlosen und einfach zu verwendenden URL-Übertragungsbibliothek auf der Client-Seite.

Warum ist die Verwendung von curl vorteilhaft?

Die Vielseitigkeit dieses Befehls bedeutet, dass Sie curl für eine Vielzahl von Anwendungsfällen verwenden können, darunter:

  • Benutzerauthentifizierung
  • HTTP-Beiträge
  • SSL-Verbindungen
  • Proxy-Unterstützung
  • FTP-Uploads

Der einfachste Anwendungsfall für Curl ist das Herunterladen und Hochladen ganzer Websites mit einem der unterstützten Protokolle.

Curl-Protokolle

 

Obwohl curl eine lange Liste von unterstützten Protokollen hat, wird standardmäßig HTTP verwendet, wenn Sie kein bestimmtes Protokoll angeben. Hier ist die Liste der unterstützten Protokolle:

cURL-Befehl - Liste der unterstützten Protokolle - dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, stmp, rtsp, scp, sftp, smb, sms, telnet, tftp

Installieren von curl  

Der Befehl curl wird in Linux-Distributionen standardmäßig installiert.

Wie können Sie überprüfen, ob Sie curl bereits installiert haben?

1. Öffnen Sie Ihre Linux-Konsole

2. Geben Sie „curl“ ein und drücken Sie „enter“.

3. Wenn Sie curl bereits installiert haben, wird die folgende Meldung angezeigt:

terminal window cURL try -help -manual commands

4. Wenn Sie curl noch nicht installiert haben, sehen Sie die folgende Meldung: „Befehl nicht gefunden“. Wählen Sie dann Ihr Distributionspaket aus und installieren Sie es (mehr dazu weiter unten).

So benutzt man cURL

 

Die Syntax von Curl ist ziemlich einfach:

command line Curl options url

Wenn Sie z. B. eine Webseite herunterladen möchten, führen Sie einfach webpage.com aus:

curl command line webpage.com

Der Befehl liefert Ihnen dann den Quellcode der Seite in Ihrem Terminalfenster. Denken Sie daran, dass curl standardmäßig HTTP verwendet, wenn Sie kein Protokoll angeben. Unten finden Sie ein Beispiel dafür, wie Sie bestimmte Protokolle definieren können:

ftp cURL command line syntax

Wenn Sie vergessen :// hinzuzufügen, wird curl automatisch das Protokoll ermitteln, das Sie verwenden möchten.

Wir haben kurz über die grundlegende Verwendung des Befehls gesprochen, aber Sie können eine Liste von Optionen auf der curl-Dokumentationsseite finden. Diese Optionen sind die möglichen Aktionen, die Sie mit der URL durchführen können. Wenn Sie eine Option auswählen, teilt sie curl mit, welche Aktion an der angegebenen URL durchgeführt werden soll. Die URL teilt cURL mit, wo es diese Aktion ausführen soll. Dann lässt cURL Sie eine oder mehrere URL auflisten.

Um mehrere URLs herunterzuladen, stellen Sie jeder URL ein -0 gefolgt von einem Leerzeichen voran. Sie können dies in einer einzigen Zeile tun oder für jede URL eine eigene Zeile schreiben. Sie können auch einen Teil einer URL herunterladen, indem Sie die Seiten auflisten. Ein Beispiel:

curl command line for multiple pages on website

 

Das Speichern des Downloads

Sie können den Inhalt der URL in einer Datei speichern, indem Sie curl mit zwei verschiedenen Methoden verwenden:

1. -o Methode: Mit dieser Option können Sie einen Dateinamen angeben, unter dem die URL gespeichert werden soll. Diese Option hat die folgende Struktur:

Command line CURL filename

2. -O Methode: Hier brauchen Sie keinen Dateinamen hinzuzufügen, da Sie mit dieser Option die Datei unter dem URL-Namen speichern können. Um diese Option zu verwenden, müssen Sie der URL lediglich ein -O voranstellen.

Wiederaufnahme des Downloads

 

Es kann vorkommen, dass der Download mittendrin abbricht. In diesem Fall schreiben Sie den Befehl neu und fügen die Option -C am Anfang hinzu:

curl filename as URL

Warum ist curl so beliebt?

 

Curl ist wirklich das „Schweizer Messer“ unter den Befehlen, das für komplexe Vorgänge entwickelt wurde. Es gibt jedoch auch Alternativen, zum Beispiel „wget“ oder „Kurly“, die für einfachere Aufgaben geeignet sind.

Curl ist bei Entwicklern sehr beliebt, da es für fast jede Plattform verfügbar ist. Manchmal ist es sogar standardmäßig installiert. Das bedeutet, dass die curl-Befehle unabhängig von den Programmen/Arbeitsplätzen, die Sie ausführen, funktionieren sollten.

Wenn Ihr Betriebssystem nicht älter als zehn Jahre ist, ist es wahrscheinlich, dass Sie curl installiert haben. Sie können die Dokumente auch in einem Browser lesen und in der curl-Documentation nachsehen. Wenn Sie eine neuere Version von Windows verwenden, ist curl wahrscheinlich bereits installiert. Wenn nicht, lesen Sie diesen Beitrag auf Stack Overflow, um mehr darüber zu erfahren, wie Sie dies durchführen können.

Verwendung von cURL mit Proxys

 

Einige bevorzugen es wahrscheinlich, cURL in Verbindung mit einem Proxy zu verwenden. Vorteile:  

  1. Verbesserte die Fähigkeiten zur erfolgreichen Verwaltung von Datenanfragen aus verschiedenen Geostandorten.  
  2. Exponentielle Erhöhung der Anzahl von Datenaufträgen, die gleichzeitig ausgeführt werden können.

Dafür können Sie die in cURL bereits integrierten Funktionen „-x“ und „(- – Proxy)“ nutzen. Im Folgenden finden Sie ein Beispiel für die Befehlszeile, die Sie verwenden können, um den von Ihnen verwendeten Proxy in cURL zu integrieren:

$ curl -x 026.930.77.2:6666 http://linux.com/

Im obigen Codeschnipsel ist „6666“ ein Platzhalter für die Portnummer, während „026.930.77.2“ die IP-Adresse ist.

  Gut zu wissen: cUrl ist mit den meisten der derzeit gängigen Proxy-Typen kompatibel, auch mit HTTP, HTTPS und SOCKS.  

So ändern Sie den User-Agenten

 

User-Agents sind charakteristische Zeichenfolgen, die es den Ziel-Websites ermöglichen, das Gerät zu identifizieren, das Informationen anfordert. Eine Ziel-Website kann verlangen, dass der Anfragende bestimmte Kriterien erfüllt, bevor er die gewünschten Zieldaten erhält. Das kann sich auf einen Gerätetyp, ein Betriebssystem oder den verwendeten Browser beziehen. In diesem Szenario wollen diejenigen, die Daten sammeln, den idealen „Kandidaten“ ihrer Ziel-Website nachahmen.

Nehmen wir an, dass die Website, auf die Sie abzielen, es „bevorzugt“, dass die Anfragenden Chrome als Browser verwenden. Um den gewünschten Datensatz mit cURL zu erhalten, müssen Sie diese „Browser-Eigenschaft“ wie folgt nachbilden:

curl -A “Goggle/9.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Chrome/103.0.5060.71” https://getfedora.org/

Web-Scraping mit cURL

 

Profi-Tipp: Halten Sie sich unbedingt an die Regeln einer Website und versuchen Sie auf keinen Fall, auf passwortgeschützte Inhalte zuzugreifen, da dies in den meisten Fällen illegal oder zumindest unerwünscht ist.

Sie können curl verwenden, um den sich wiederholenden Prozess beim Web Scraping zu automatisieren und so mühsame Aufgaben zu vermeiden. Dazu müssen Sie PHP verwenden. Hier ist ein Beispiel, das wir auf GitHub gefunden haben:

web scraping script in php using curl

Wenn Sie curl verwenden, um eine Webseite zu scrapen, gibt es drei Optionen, die Sie verwenden sollten:

  • curl_init($url) -> Initialisiert die Sitzung
  • curl_exec() -> Führt aus
  • Curl_close() -> Schließt
code syntax for scraping a web page using curl

Andere Optionen, die Sie verwenden sollten, sind:

  • Curlopt_url -> Legt die URL fest, die Sie scrapen wollen
setting the URL you want to scrape with cURL
  • Curlopt_returntransfer -> Weist curl an, die gescrapte Seite als Variable zu speichern. (So erhalten Sie genau das, was Sie aus der Seite extrahieren wollten).
curl command line for saving scraped page as a variable

Fazit

cURL ist zwar ein leistungsfähiges Web-Scraping-Tool, aber die Unternehmen müssen wertvolle Zeit sowohl für die Datenerfassung als auch für die Datenbereinigung aufbringen. Bright Data hat einen vollautomatischen Web Scraper auf den Markt gebracht, der als codefreie Lösung dient. Er ermöglicht es Unternehmen, Daten von Ziel-Websites mit einem Klick zu erfassen oder einfach den gewünschten Datensatz zu bestellen. Dadurch können sich DevOps und andere technische Fachkräfte auf die Produktentwicklung und Fehlerbehebung konzentrieren.  

Nicht sicher, welches Produkt Sie wählen sollen? Kontaktieren Sie den Verkauf, um die richtige Lösung für Sie zu finden.