Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo Zusammen,

ich habe folgende Herausforderung. Es soll ein Schlagwort z. B. "Leberkas" über google.de gesucht werden und die Ergebnisse in eine Exceldatei über führt werden. Wie kann man dies am Besten umsetzen und mit welcher Sprache? Ich selber bin leider kein Anwendungsentwickler, so dass ich um Milde bitte 😉

 

Servus

actionmuc

Hallo actionmuc,

der Begriff dazu heißt Web Scraping, teilweise auch Screen Scraping. Machen kannst Du das mit vielen Sprachen. Unter anderem auch mit VBA direkt in Excel selbst. Gängige Methoden sind xhr (XML HTTP Request) oder wenn die Automatisierung eines Browsers notwendig ist, dass Selenium Framework. Die gewünschten Ergebnisse aus der zu verarbeitenden HTML Datei bekommt man am einfachsten über das DOM (Document Object Model) oder im Falle von Selenium über eine ähnliche seleniumeigene Technik.

Das Scrapen über einen Browser ist langsamer, da immer die gesamte Seite mit allen Dateien geladen und gerendert wird, während bei Verwendung von xhr nur die angeforderte Datei vom WebServer angefordert wird.

Der Vorteil von Selenium ist, dass der Browser automatisch das gesamte Seassionhandling übernimmt und auch JavaScript verarbeiten kann. Bei xhr muss man sich selbst um Cookies, SeassionIDs, usw. kümmern, falls notwendig und es ist eine statische Angelegenheit. Das bedeutet, JavaScript wird nicht ausgeführt.

Soweit etwas oberflächlich zu den grundlegenden Technologien. Das Problem bei Google ist, die sperren Dich nach 30 oder 35 automatisierten Zugriffen aus. Habe die genaue Anzahl nicht mehr im Kopf, glaube aber nicht, dass die Begrenzung aufgehoben wurde. Aussperren heißt in diesem speziellen Fall, bei jedem Zugriff werden Captchas vor die Suchergebnisseite geschaltet.

Bearbeitet von ZwennL

vor 3 Stunden schrieb actionmuc:

 und die Ergebnisse in eine Exceldatei über führt 

Definier mal bitte "Die Ergebnisse".

Die Links zu den Webseiten? Bilder vom Leberkäse? Die Webseiten die Google findet als HTML Dump?

Um einfach mal alles zu grapschen:

Um den vollständigen Inhalt einer Webseite zu laden, könnten Sie verschiedene Ansätze verwenden, abhängig von Ihren spezifischen Anforderungen und der von Ihnen bevorzugten Programmiersprache. Da Sie PowerShell ISE als Ihre bevorzugte Programmierumgebung angegeben haben, könnte das folgende PowerShell-Skript ein Ausgangspunkt sein:

```powershell
# PowerShell-Script zum Laden des vollständigen Inhalts einer Webseite

# URL der Webseite, deren Inhalt geladen werden soll
$url = "https://leberkas.com"

# WebClient-Objekt erstellen
$client = New-Object System.Net.WebClient

# Den Inhalt der Webseite herunterladen
$content = $client.DownloadString($url)

# Den vollständigen Inhalt der Webseite anzeigen
Write-Output $content // > datei falls gewünscht
``` 

und dann fängt die Arbeit erst an. Die gewünschten Daten/Infos usw. ausfiltern

 

 

vor 4 Stunden schrieb hellerKopf:

# URL der Webseite, deren Inhalt geladen werden soll

$url = "https://leberkas.com"

# WebClient-Objekt erstellen
$client = New-Object System.Net.WebClient

# Den Inhalt der Webseite herunterladen
$content = $client.DownloadString($url)

Mal aus Interesse:

Wird dabei auch via Javascript dynamisch geladener Inhalt geladen? Oder ist das wir curl und lädt "nur" Inhalte die ins HTML vorgerendert wurden?

vor 7 Stunden schrieb Chris-Info:

Wird dabei auch via Javascript dynamisch geladener Inhalt geladen?

Es kommt nur der von der Ressource versendete Code als string zurück:

"p: $('#div_impressum').offset().top }, 1500);" onmouseover="preView('li_impressu
m')"  onmouseout = "hide_preView()"> <a><figure class='ball'></figure></a></li><
ul> <footer>⌖</footer> </nav>        <div id="div_start"></div>
        <div id="div_suche"></div>
        <div id="div_firma"></div>"
 

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.