Social et vidéo
Instagram Scraper
instagram.com
Instagram décide de ce qu'il sert d'après la sortie qu'il voit, pas d'après le réalisme du navigateur : depuis une adresse de datacenter, il répond à l'URL d'un profil par son mur de connexion, et il le fait avec un 200 d'apparence tout à fait normale. Nous détectons ce mur et tirons une nouvelle sortie au lieu de le renvoyer, ce qui explique le 100 % affiché ici alors que le chiffre stagnait auparavant dans les quatre-vingts : l'ancien taux comptait les murs de connexion comme des succès. Les pages de profil et de publication sont rendues côté serveur, donc aucun navigateur n'intervient et un appel revient en deux secondes environ. Ajoutez `parsed_data=true` et vous obtenez les chiffres sous forme d'entiers exacts plutôt que la prose arrondie que peint la page : Instagram affiche « 287 K likes » là où le payload indique 287 279. Les compteurs par publication viennent de l'URL de la publication : Instagram ne les inclut pas dans ce qu'il sert sur une page de profil, donc le profil renvoie la grille avec un lien permanent par publication et aucun nombre inventé.
Ce que vous pouvez extraire
- Profil public : nom d'utilisateur, nom complet, bio, nombre d'abonnés et d'abonnements
- Publication et reel : légende, nombre exact de likes et de commentaires, date de publication
- Grille du profil : les 12 publications les plus récentes, chacune avec son lien permanent
- URLs et miniatures des médias de la publication
- Badge de vérification, photo de profil et liens externes de la bio
Comment le scraper
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/getPageSource?url=https%3A%2F%2Fwww.instagram.com%2Fnasa&parsed_data=true"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/getPageSource",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"url": "https://www.instagram.com/nasa", "parsed_data": True},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.getPageSource({
url: 'https://www.instagram.com/nasa',
parsedData: true,
});
console.log(results); Les requêtes sont en POST et passent leurs paramètres dans la query string. Le rendu navigateur a toujours lieu : aucun flag à activer.
Lire la documentation de l'API
Scrapers similaires
Commencez à scraper ce site dès aujourd'hui
Palier gratuit inclus. Aucune carte bancaire requise pour tester.