Entwickler
Scraper für Entwicklerplattformen. Richten Sie sie auf eine GitHub-, Stack-Overflow- oder Exercism-URL und erhalten Sie sauberes, strukturiertes JSON - Repository-Metadaten, Suchergebnisse, Profile, Frage-und-Antwort-Threads oder Lösungen von Programmierübungen - statt HTML.
Übersicht
Die Kategorie Entwickler deckt die Plattformen ab, aus denen Engineering-Teams Daten für Open-Source-Intelligence, Abhängigkeits- und Ökosystemanalyse, Developer-Relations-Recherche, Hiring-/Sourcing-Signale und technisches Frage-und-Antwort-Mining ziehen. Jeder Scraper akzeptiert eine Ziel-URL, liefert geparstes JSON in Millisekunden und nutzt dieselben Residential Proxies und denselben Anti-Bot-Bypass, die auch die Crawling API antreiben - gleiches Uptime-SLA, gleiche Authentifizierung mit einem Token, kein Setup pro Ziel.
Das Kernset zielt auf GitHub, den größten Host für öffentlichen Quellcode. Wählen Sie einen Scraper nach der benötigten Oberfläche aus: eine einzelne Repository-Seite, eine Repository-Suchergebnis-Seite (SERP) oder ein Nutzer-/Organisations-Profil. Jeder Scraper zielt auf einen einzigen Seitentyp, damit die JSON-Struktur stabil bleibt, auch wenn sich das zugrunde liegende HTML ändert - und Sie zahlen nur für erfolgreiche Responses, sodass Retries gegen eine instabile Upstream-Quelle nicht auf Ihrer Rechnung erscheinen.
Stack Overflow wird ebenfalls abgedeckt. Es ist Teil des Stack Exchange-Netzwerks, sodass dieselben zwei host-agnostischen Scraper es verarbeiten - es gibt keinen separaten Stack-Overflow-Scraper zu lernen. Richten Sie stackexchange-serp auf eine Fragenliste, ein Tag oder eine Suchseite (z. B. https://stackoverflow.com/questions/tagged/python) für ein strukturiertes Array von Fragen mit Scores, Antwort- und Aufrufzahlen sowie Tags; richten Sie stackexchange-thread auf eine einzelne Frage (z. B. https://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-processing-an-unsorted-array) für den vollständigen Text plus jede Antwort und jeden Kommentar. Der Netzwerk-Parser verarbeitet das Markup, egal ob die URL auf stackoverflow.com oder einer anderen *.stackexchange.com-Site liegt.
Exercism wird von vier Scrapern für die Programmier-Übungsplattform abgedeckt. Richten Sie exercism-serp auf eine Track-Übungsliste (z. B. https://exercism.org/tracks/ruby/exercises) für jede Übung mit ihrem Slug, ihrer Schwierigkeit und ihrer Kurzbeschreibung; exercism-exercise auf eine einzelne Übung (z. B. /tracks/ruby/exercises/two-fer) für ihre vollständigen Anweisungen als Text und HTML; exercism-solutions auf die Community-Lösungen einer Übung für ein paginiertes Array veröffentlichter Lösungen mit Autor, Sprache und Sternzahlen; und exercism-solution auf eine einzelne veröffentlichte Lösung (z. B. /tracks/ruby/exercises/two-fer/solutions/handle) für ihre Iterationen, Metadaten und ihren Quellcode.
Typische Pipelines:
- Ökosystem-Monitoring:
github-repositoryfür die Projekte abfragen, von denen Sie abhängen,stars,forks,openIssuesCount,latestReleaseundarchivedsnapshotten und bei Δ alarmieren. - Discovery:
github-serp-Abfragen (z. B. eine Themen- oder Stichwortsuche) in eine Liste vongithub-repository-Aufrufen einspeisen, um jeden Treffer mit vollständigen Metadaten anzureichern. - Developer-Sourcing / DevRel: ein
github-profileauflösen, umfollowers,publicRepos,pinnedReposundorganizationsauszulesen. - Dependency Intelligence:
primaryLanguage,languages,licenseundtopicsüber ein Portfolio von Repositories hinweg verfolgen, um Lizenz- oder Wartungsrisiken zu erkennen. - Q&A-Mining:
stackexchange-serpauf ein Tag oder eine Suche anwenden (z. B.stackoverflow.com/questions/tagged/python) und dann pro Frage zustackexchange-threadausfächern, um akzeptierte Antworten, Code-Blöcke und Vote-Scores zu erfassen - ein sauberer Korpus für Support-Automatisierung oder Modelltraining. - Lösungs-Mining:
exercism-serpauf einem Track ausführen, pro Übung zuexercism-solutionsausfächern und dann pro Autor zuexercism-solution, um einen beschrifteten Korpus funktionierenden Codes über verschiedene Sprachen hinweg für dasselbe Problem aufzubauen.
Jedes Feld bildet direkt ab, was die Seite rendert, und nullable Felder kommen als null zurück, wenn die Quellseite den Wert auslässt, statt stillschweigend zu verschwinden - so bleibt Ihr Schema über Aufrufe hinweg vorhersehbar. Kein GitHub- oder Stack-Exchange-API-Token, kein Rate-Limit-Jonglieren und keine Pagination-Buchhaltung auf Ihrer Seite: Der Scraper übernimmt den Fetch und das Parsing, und Sie erhalten die Felder zurück, die Sie tatsächlich brauchen.
GitHub
Drei Scraper, die die von Teams am häufigsten abgefragten GitHub-Oberflächen abdecken - eine einzelne Repository-Seite, Repository-Suchergebnisse sowie Nutzer- oder Organisationsprofile.
- GitHub Repository - Repository-Seite (Beschreibung, Sprache, Stars, Forks, Issues, Lizenz, neuestes Release).
- GitHub SERP - Repository-Suchergebnisseite auf GitHub.
- GitHub Profile - Nutzer- oder Organisationsprofil (Bio, Follower, angepinnte Repos, Organisationen).
Stack Overflow
Stack Overflow wird von den Stack Exchange-Scrapern bedient - richten Sie sie auf stackoverflow.com-URLs. Verwenden Sie stackexchange-serp für Fragenlisten, Tag-Seiten und Suchergebnisse und stackexchange-thread für eine einzelne Frage mit ihrem vollständigen Antwort-Thread. Beide sind host-agnostisch über das gesamte Stack-Exchange-Netzwerk, sodass dieselbe Aufrufform für jede *.stackexchange.com-Site funktioniert.
- Stack Overflow Questions - eine Stack-Overflow-Seite mit Fragen, Tags (z. B.
/questions/tagged/python) oder Suchergebnissen als strukturiertes Array mit Scores, Antwort- und Aufrufzahlen, Tags und Pagination. - Stack Overflow Thread - eine einzelne Stack-Overflow-Frage mit ihrem vollständigen Text plus jeder Antwort und jedem Kommentar, mit Scores, Akzeptiert-Status und Autoren.
Exercism
Vier Scraper, die die Programmier-Übungsplattform Exercism abdecken - eine Track-Übungsliste, eine einzelne Übung mit ihren Anweisungen, eine Übungs-Community-Lösungsliste und eine einzelne veröffentlichte Lösung. Richten Sie sie auf exercism.org-URLs; Track- und Übungs-Slugs werden aus dem URL-Pfad gelesen.
- Exercism Exercises - eine Track-Übungslistenseite (z. B.
/tracks/ruby/exercises) als strukturiertes Array von Übungen mit Slug, Titel, Schwierigkeit und Kurzbeschreibung. - Exercism Exercise - eine einzelne Übungsübersichtsseite mit ihrem Titel, ihrer Schwierigkeit und ihren vollständigen Anweisungen als Text und HTML.
- Exercism Solutions - eine Übungs-Community-Lösungsseite als paginiertes Array veröffentlichter Lösungen mit Autor, Sprache, Sternen und Iterationszahlen.
- Exercism Solution - eine einzelne veröffentlichte Community-Lösung mit ihren Iterationen, ihrer Sprache, ihrer Sternzahl und ihrem Quellcode.
Kaggle
Vier Scraper, die die Data-Science-Plattform Kaggle abdecken - Datensatzsuche, ein einzelner Datensatz mit seinen Dateien und seiner Lizenz, Notebook-Suche und ein einzelnes Notebook mit seinen Metadaten und Inputs. Richten Sie sie auf kaggle.com-URLs; Eigentümer-Slugs sowie Datensatz- oder Notebook-Slugs werden aus dem URL-Pfad gelesen.
- Kaggle Dataset Search - eine Datensatz-Such- oder Listenseite (z. B.
/datasets?search=heart+disease) als geordnetes Array von Datensätzen mit Eigentümer, Größe, Usability-Bewertung, Downloads und Notebook-Anzahl. - Kaggle Dataset - eine einzelne Datensatzseite mit ihrer Beschreibung, ihren Keywords, ihrem Eigentümer, ihrer Lizenz, ihrer Dateiliste und ihren Engagement-Zahlen.
- Kaggle Notebook Search - eine Notebook-Such- oder Listenseite (z. B.
/code?searchQuery=titanic) als geordnetes Array von Notebooks mit Autor, Co-Autoren, Wettbewerbskontext, Votes und Kommentaren. - Kaggle Notebook - eine einzelne Notebook-Seite mit ihrem Autor, ihrer Sprache, ihrer Laufzeit, ihrem Versionsverlauf, ihren Engagement-Zahlen und ihren angehängten Inputs.
Beispielaufruf
Nachfolgend: ein einzelner github-repository-Aufruf. Ersetzen Sie YOUR_TOKEN durch Ihr Crawling API token; die einzigen erforderlichen Parameter sind die Ziel-URL und der Scraper-Name.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://github.com/rails/rails' \
--data-urlencode 'scraper=github-repository' -G
Beispielantwort
{
"name": "rails",
"owner": "rails",
"fullName": "rails/rails",
"url": "https://github.com/rails/rails",
"description": "Ruby on Rails",
"primaryLanguage": "Ruby",
"languages": ["Ruby", "JavaScript", "HTML", "SCSS", "CSS", "Dockerfile"],
"stars": 58789,
"forks": 22414,
"watchers": 2400,
"hasIssues": true,
"openIssuesCount": 478,
"openPrsCount": 1081,
"topics": ["ruby", "rails", "html", "activerecord", "framework", "mvc", "activejob"],
"license": "MIT license",
"defaultBranch": "main",
"latestRelease": "v8.1.3",
"readmePresent": true,
"archived": false
}
Vollständige Referenz (Parameter, alle 4 SDK-Sprachen, Sonderfälle): GitHub Repository - vollständige Referenz