der-marek
Goto Top

Meta Tags aus Webseite auslesen

Hi,

ich möchte gern aus einem Online-Shop definierte Artikel Seiten abrufen und dort bestimmte Meta-Tags auslesen (Preis, Beschreibung etc.)
Das Ganze wäre super spannend, wenn es in einem SQL Server funktionieren würde, der die Daten direkt in eine Tabelle schiebt.

Ob das schnell oder langsam funktioniert ist mir im Grunde egal. Es würde reichen, wenn ich den Quelltext der Seite übergeben bekommen würde und ich mir einfach per String-Suche die Daten heraussuche.

Sollte es ein Tool geben, welches das Ganze quick/dirty einfach tut und mir alle Meta-Tags in eine Excel o.ä. schiebt wäre mir ebenso geholfen.

Jemand eine Idee?

Content-ID: 523680

Url: https://administrator.de/contentid/523680

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

SlainteMhath
SlainteMhath 09.12.2019 um 16:13:58 Uhr
Goto Top
Moin,

ich glaube du hast de Meta Tags im HTML nicht richtig verstanden... schau mal hier: https://www.w3schools.com/tags/tag_meta.asp

lg,
Slainte
der-marek
der-marek 09.12.2019 um 16:19:50 Uhr
Goto Top
Heißt also, wenn ich über den Browser im Quelltext soetwas hier finde:

<meta property="product:price" content="4,60" />  

dann kann ich das nicht maschinell auslesen?
141965
141965 09.12.2019 aktualisiert um 16:38:13 Uhr
Goto Top
No Problem, hier mal ein Beispiel mit Powershell für dein Codebeispiel:
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::GetNames([System.Net.SecurityProtocolType]) 
(Invoke-Webrequest 'https://domain.tld').AllElements | ?{$_.tagName -eq 'meta' -and $_.property -eq 'product:price'} | select -Expand Content  
Oder auch mehrere bestimmte Meta-Tags direkt in eine CSV, hier ein Beispiel anhand von Administrator.de
(iwr 'https://administrator.de').AllElements | ?{$_.tagName -eq 'meta' -and $_.property -in @('og:title','og:type','og:url')} | select Property,Content | export-csv .\daten.csv  -Delimiter ";" -NoTypeInformation -Encoding UTF8  
Und wenn du willst kannst du das damit auch direkt in ne Datenbank pappen ...

Geht natürlich auch mit jeder anderen Programmiersprache deiner Wahl.