Raclage de site Web en utilisant jquery et ajax
Je veux être en mesure de manipuler le code html d'une url donnée. Quelque chose comme le html le grattage. Je sais que cela peut être fait à l'aide de curl ou certains de grattage de la bibliothèque.Mais je voudrais savoir si il est possible d'utiliser jquery pour faire une requête get à l'url à l'aide d'ajax et de récupérer le code html de l'url, et exécuter jquery code sur le code html retourné ?
Merci
source d'informationauteur Joe
Vous devez vous connecter pour publier un commentaire.
Je tiens à souligner qu'il existe des situations où il est parfaitement acceptable d'utiliser jQuery pour gratter des écrans dans tous les domaines. Windows Sidebar gadgets exécuter dans une "Zone ordinateur Local" qui permet de cross domain scripting.
Et jQuery n'ont la capacité d'appliquer les sélecteurs pour récupéré un contenu html. Vous avez juste besoin d'ajouter le sélecteur pour une méthode load() de paramètre de l'url après un espace.
L'exemple gadget code ci-dessous vérifie cette page toutes les heures et indique le nombre total de pages vues.
Vous ne pouvez pas faire une requête Ajax vers un autre nom de domaine que celui que votre site est sur, en raison de la Même La Politique De L'Origine ; ce qui signifie que vous ne sera pas tout à fait capable de faire ce que vous voulez... Au moins directement.
Une solution serait de :
Cela peut être fait en quelques lignes avec presque n'importe quelle langue (comme PHP, à l'aide de curl, par exemple)... Ou vous pourriez être en mesure d'utiliser certaines fonctionnalités de votre serveur (voir
mod_proxy
etmod_proxy_http
par exemple, pour Apache)Ce n'est pas que difficile.
Je pense que cela peut vous donner une bonne idée - http://jsfiddle.net/skelly/m4QCt/
http://www.nathanm.com/ajax-bypassing-xmlhttprequest-cross-domain-restriction/
Au lieu de curl, vous pouvez utiliser un outil comme Selenium qui permettra d'automatiser le chargement de la page dans le navigateur. Vous pouvez exécuter JavaScript.
Je le fais avec un petit PHP proxy, temporairement décapage des balises IMG pour accélérer les temps de chargement. Je l'ai enveloppé dans un plugin jQuery qui le rend relativement facile à utiliser, voir ici pour la démo/github lien