Je me demande s'il est possible de gratter une page externe (interdomaine) via l'IP de l'utilisateur?
Pour un site de comparaison de magasinage, je dois gratter les pages d'un site e-com, mais plusieurs demandes du serveur risquent de me faire interdire. IP et envoi au serveur pour traitement.
Non, vous ne pourrez pas utiliser le navigateur de vos clients pour supprimer du contenu de sites Web à l'aide de JavaScript en raison d'une mesure de sécurité appelée Politique de même origine .
Il ne devrait y avoir aucun moyen de contourner cette politique et ce pour une bonne raison. Imaginez que vous puissiez demander au navigateur de vos visiteurs de faire n'importe quoi sur n'importe quel site Web. Ce n'est pas quelque chose que vous voulez arriver automatiquement.
Cependant, vous pouvez créer une extension de navigateur pour le faire. Les extensions de navigateur JavaScript peuvent être dotées de plus de privilèges que JavaScript classique.
Adobe Flash possède des fonctionnalités de sécurité similaires, mais je suppose que vous pouvez utiliser Java (et non JavaScript) pour créer un scraper Web utilisant l'adresse IP de votre utilisateur. Là encore, vous ne voulez probablement pas faire cela, car les plugins Java sont considérés comme peu sûrs (et lents à charger!) Et tous les utilisateurs ne l’auront même pas installé.
Revenons maintenant à votre problème:
Je dois gratter les pages d'un site e-com, mais plusieurs demandes du serveur me feraient interdire.
Si le propriétaire de ce site Web ne veut pas que vous utilisiez son service de cette manière, vous ne devriez probablement pas le faire. Sinon, vous risqueriez des implications juridiques (regardez ici pour plus de détails).
Si vous êtes du "côté obscur de la loi" et ne vous souciez pas de savoir si c'est illégal ou non, vous pouvez utiliser quelque chose comme http://luminati.io/ pour utiliser les adresses IP de personnes réelles.
Les navigateurs sont essentiellement conçus pour éviter de le faire…
La solution à laquelle tout le monde pense en premier:
jQuery/JavaScript: accès au contenu d'une iframe
Mais cela ne fonctionnera pas dans la plupart des cas avec les navigateurs "récents" (<10 ans)
Les alternatives sont:
[MODIFIER]
Une autre solution à laquelle je peux penser consiste à passer par un service YQL , de cette manière, cela revient un peu à utiliser un moteur de recherche/un proxy public comme pont pour récupérer les informations à votre place. .] Voici un exemple simple pour ce faire , En bref, vous obtenez des requêtes GET interdomaine
Jetez un coup d'œil à http://import.io , ils fournissent quelques robots, connecteurs et extracteurs. Je ne sais pas trop comment ils échappent aux interdictions, mais ils le font d'une manière ou d'une autre (nous utilisons leur système depuis maintenant un an sans aucun problème).
Vous pouvez créer une extension de navigateur avec artoo.
http://medialab.github.io/artoo/chrome/
Cela vous permettrait de contourner les mêmes restrictions de stratégie d'origine. Tout est javascript et côté client.