freeCodeCamp / freeCodeCamp/devdocs

[low priority refactoring] generalize executing JS during scraping

Offen
#789 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Ruby
Sterne
39.5k
Forks
2.6k
Ø Merge
4 T. 32 Min.
Gemergte PRs (30 T.)
13

Beschreibung

If doc sites use client-side JavaScript to produce or fetch some of their content, we need to launch a headless browser and execute it. Currently scraper subclasses do that individually using capybara, e.g.
https://github.com/freeCodeCamp/devdocs/blob/master/lib/docs/scrapers/angularjs.rb#L42-L45
but it might be better to extract a helper method or config option, a little more like this:
https://github.com/freeCodeCamp/devdocs/blob/master/lib/docs/scrapers/webpack.rb#L43-L46

cc @dangeranger

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, lib/docs/scrapers/angularjs.rb#L42-L45 mit lib/docs/scrapers/webpack.rb#L43-L46 zu vergleichen, um die bestehenden Capybara-basierten Muster für die JavaScript-Ausführung zu verstehen. Verfolge, wie Scraper-Konfiguration und Hilfsfunktionen organisiert sind, und definiere anschließend einen gemeinsamen Ansatz, der das relevante Scraper-Verhalten beibehält, und überprüfe, dass die betroffenen Scraper weiterhin ihren erwarteten Inhalt erzeugen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ruby
Bereich
documentation, tooling
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.