1.7 KiB
1.7 KiB
Reguläre Ausdrücke (Regex)
Sonderzeichen (*+?{}[]\|()
) mit \
escapen.
- Platzhalter:
.
(Zeichen),\d
(Ziffer),\w
(Buchstabe/Ziffer),\s
(Whitespace). Großbuchstaben (\D
,\W
,\S
) negieren die Auswahl. - Auswahl:
[...]
(Zeichenmenge),[^...]
(negierte Menge),[a-z]
(Bereich). - Wiederholung:
*
(0+),+
(1+),?
(0-1),{n,m}
(Anzahl).*?
für non-greedy. - Logik & Gruppen:
()
(Gruppe),(?P<n>...)
(benannte Gruppe),|
(ODER). - Position:
^
(Anfang),$
(Ende),\b
(Wortgrenze). Beispiel:
^(?P<timestamp>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2})\s\[(?P<level>INFO|WARN|ERROR)\]\s\(user:\s'(?P<user>[\w\.-]+@[\w\.-]+)'\)\s"(?P<message>.*?)"$
XPath & JSONPath
- XPath (XML): Navigation mit
/
(Kind),//
(Nachfahre),.
(aktuell),..
(Eltern). Filtern mit[...]
, z.B.[@id='x']
(Attribut) oder[1]
(Position). Werte mit@attribut
odertext()
. - JSONPath (JSON): Start mit
$
. Navigation mit.
oder['key']
...
(rekursiv),[*]
(alle Array-Elemente). Filtern mit[?(@...)]
, wobei@
das aktuelle Element ist. Beispiel:
//course[@id='cds104']/lecturer[@type='external' and units > 5]/name/text()
$.movies[?(@.year > 1999 && @.title =~ /^Matrix.*/)].actors[*].name
HTTP-APIs & Web Crawling
- HTTP-APIs: Datenaustausch über URLs via REST (Methoden: GET, POST, etc.), oft mit API-Key zur Authentifizierung.
- Web Scraping/Crawling: Extrahiert Daten aus HTML. Auswahl mit CSS-Selektoren (z.B.
tag
,.klasse
,#id
). Crawler folgen Links (<a>
). Beachterobots.txt
und nutzesitemap.xml
.
main#content article.published:not(.featured) h2 + div.meta a[href*="author"]