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-Key: 523680

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

Printed on: April 19, 2024 at 11:04 o'clock

Member: SlainteMhath
SlainteMhath Dec 09, 2019 at 15:13:58 (UTC)
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
Member: der-marek
der-marek Dec 09, 2019 at 15:19:50 (UTC)
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?
Mitglied: 141965
141965 Dec 09, 2019 updated at 15:38:13 (UTC)
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.