webextractor: Scope, Fremdformate, Absturz bei PDF und zwei Virtualenvs #61
Labels
No labels
herkunft/alpha-feedback
status/blockiert
status/zu-testen
typ/bug
typ/docs
typ/enhancement
typ/feature
typ/idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
alf/2ndbrain#61
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
skills/webextractor/webextractor.pystammt aus den Anfangszeiten von Iris und hat beim Crawlen vonhttps://google.github.io/comprehensive-rust/(2026-10-16) mehrere Schwächen gezeigt. Aufruf war--strict --depth 6; der Lauf musste abgebrochen werden.Beobachtet
--strictfolgtis_in_scope()jedem Link auf derselben Domain. Beigoogle.github.iowären das alle GitHub-Pages-Projekte von Google.--strictist nicht Standard und inSKILL.mdnicht erwähnt.--strictreicht bei Sprachversionen nicht.strictprüft nur das Pfadpräfix. Sprachversionen unter demselben Präfix (/comprehensive-rust/pt-BR/) werden trotzdem gecrawlt.print.html(enthält jede Seite nochmal) und*.pdfwerden abgerufen.BeautifulSoup(response.content, 'html.parser')als HTML geparst und wirftValueError: invalid literal for int() ...aushandle_charref. Es gibt keine Prüfung aufContent-Type, und der Fehler wird nicht abgefangen. Der Lauf bricht ab.scrape()ruft sich selbst auf (Tiefensuche), ohne Wartezeit zwischen Anfragen und ohne Obergrenze für die Seitenzahl.venv/und.venv/nebeneinander;SKILL.mdnennt.venv. Welches davon gilt, ist unklar.Was zu tun ist
--strictals Standard, Scope über Pfadpräfix.--exclude), Standard: Sprachvarianten,print.html,*.pdf.text/htmlparsen (Content-Typeprüfen), Parserfehler pro Seite abfangen und weitermachen.--max-pages.SKILL.mdundrequirements.txtpassend dazu.SKILL.mdkurz halten (Vertrag: Anweisung, keine Chronik), deterministische Teile im Skript.Nachweis
Die Ausgabe des abgebrochenen Laufs ist nicht aufbewahrt. Reproduzierbar mit:
Der Kurs wurde stattdessen aus dem GitHub-Repo
google/comprehensive-rustübernommen (Markdown-Quellen, Skript im Scratchpad der Session).