Stack Exchange Fragen
Parsen Sie eine Stack Exchange Fragen-, Tag- oder Suchergebnisseite in strukturiertes JSON mit jeweils Fragetitel, Score, Anzahl der Antworten und Aufrufe, Tags, Auszug, Autor und Pagination.
API-Nutzung
Fügen Sie &scraper=stackexchange-serp zu einem Crawling API-Request hinzu. URL-kodieren Sie die Ziel-URL im url-Parameter.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://stackoverflow.com/questions/tagged/web-scraping' \
--data-urlencode 'scraper=stackexchange-serp' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://stackoverflow.com/questions/tagged/web-scraping',
{'scraper': 'stackexchange-serp'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://stackoverflow.com/questions/tagged/web-scraping',
{ scraper: 'stackexchange-serp' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://stackoverflow.com/questions/tagged/web-scraping', scraper: 'stackexchange-serp')
data = JSON.parse(res.body)Beispiel-Eingabe-URL
Im url-Parameter funktioniert jede Stack Exchange-Liste: eine Tag-, Search- oder Questions-Seite auf jeder Site im Netzwerk. Zum Beispiel:
https://stackoverflow.com/questions/tagged/web-scraping
https://superuser.com/search?q=ssh+tunnel
https://askubuntu.com/questions?tab=Votes
https://unix.stackexchange.com/questions/tagged/bash
https://mathoverflow.net/questionsResponse-Struktur
JSON-Response-Body. Feldtypen können null sein, wenn die Quellseite den Wert nicht enthält.
Stack Exchange Site, von der die Ergebnisse stammen (zum Beispiel
stackoverflow).Suchanfrage oder Tag, die diese Ergebnisse erzeugt hat.
Tag, auf das die Liste beschränkt war, oder null, wenn es sich nicht um eine Tag-Seite handelt.
Auf die Liste angewandte Sortierreihenfolge (zum Beispiel
newest, votes, active).Seitennummer der aktuell zurückgegebenen Liste (1-basiert).
Gesamtzahl der zur Liste passenden Fragen, oder null, wenn die Seite die Anzahl nicht enthält.
Fragen auf dieser Seite, in Listenreihenfolge.
Position der Frage in der zurückgegebenen Liste (1-basiert).
Stack Exchange Fragen-ID.
Fragetitel.
Kanonische URL der Frage.
Fragen-Score (Upvotes minus Downvotes).
Anzahl der Antworten auf die Frage.
Anzahl der Aufrufe der Frage.
True, wenn die Frage eine akzeptierte Antwort hat.
Kurzer Auszug des Fragetexts.
Auf die Frage angewandte Tags.
Anzeigename des Fragenautors.
Profil-URL des Fragenautors.
Erstellungszeit der Frage (ISO 8601).
Anzahl der in
results zurückgegebenen Ergebnisse.Pagination-Cursor für die nächste Seite.
Seitennummer, die diese Response abdeckt (1-basiert).
URL für die nächste Seite mit Ergebnissen oder null auf der letzten Seite.
True, wenn eine nächste Seite verfügbar ist.
Beispiel-Response
{
"site": "stackoverflow.com",
"query": "web scraping infinite scroll pagination",
"tag": null,
"sort": "Relevance",
"currentPage": 1,
"totalQuestions": null,
"results": [
{
"position": 1,
"id": "78912345",
"title": "How to handle pagination when scraping an infinite scroll page?",
"questionUrl": "https://stackoverflow.com/questions/78912345/how-to-handle-pagination-when-scraping-an-infinite-scroll-page",
"score": 4,
"answerCount": 2,
"viewCount": 137,
"hasAcceptedAnswer": true,
"excerpt": "I'm trying to scrape a product listing that loads more items as you scroll. The network tab shows a POST request returning JSON, but the cursor token keeps changing...",
"tags": ["python", "web-scraping", "pagination", "requests"],
"author": "dev_ana",
"authorUrl": "https://stackoverflow.com/users/1234567/dev-ana",
"askedAt": "2026-07-15T09:42:11Z"
},
{
"position": 2,
"id": "78911002",
"title": "Rotating proxies with residential IPs to avoid rate limiting",
"questionUrl": "https://stackoverflow.com/questions/78911002/rotating-proxies-with-residential-ips-to-avoid-rate-limiting",
"score": 1,
"answerCount": 0,
"viewCount": 42,
"hasAcceptedAnswer": false,
"excerpt": "My crawler gets blocked after roughly 500 requests from a datacenter IP. I want to rotate through a residential proxy pool but I'm unsure how to detect a soft ban...",
"tags": ["web-scraping", "proxy", "http"],
"author": "crawler_joe",
"authorUrl": "https://stackoverflow.com/users/9988776/crawler-joe",
"askedAt": "2026-07-15T08:05:47Z"
}
],
"resultCount": 2,
"pagination": {
"currentPage": 1,
"nextPageUrl": "https://stackoverflow.com/search?q=web+scraping+infinite+scroll+pagination&tab=Relevance&page=2",
"hasNext": true
}
}