modifier évidemment qu'il serait hors de question. P>
Mais vous penseriez simplement à lire ne devrait pas être un problème? P>
Si j'ai mon fichier .js en cours d'exécution sur le système de quelqu'un et que je veux analyser le DOM d'une autre URL, côté client, y a-t-il un moyen de faire cela? P>
Quelque chose de simple, comme Tirez la balise de titre ou tirez l'URL ... peut-être charger le site dans un iframe pour accomplir cela? P>
4 Réponses :
Si les domaines ne correspondent pas, vous ne pourrez pas le faire en raison d'une exception de sécurité. Si toutefois vous contrôlez l'autre domaine, vous devez rechercher un fichier de domaine croisé pour permettre l'accès via JavaScript. P>
@Stevebinder: il a été supprimé.
Vous pouvez obtenir la source HTML avec une demande AJAX GET. Une fois que vous pouvez rechercher dans le code HTML ou l'attribuer à un iframe /... p>
Pas si l'URL provient d'un autre domaine.
Si je reçois votre question,
Un exemple de domaine croisé en utilisant YQL, P>
var url = 'xyz.com'; // website you want to scrape
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + url + '"') + '&format=json&callback=?';
$.getJSON(yql,function(data){
if (data.results[0]){
console.log(data = data.results[0].replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '')); // The scraped data (the whole webpage)
}
});
Yahoo Query Language ... Je suis Googled Out ..Can tu me donnes un bref synopsis?
une sorte d'API Yahoo qui fait l'analyse pour vous?
Cela fait beaucoup de choses. Vous obtiendrez tout ici . Qu'est-ce que ça fait, comment ça fait, comment le faire et plus encore?
Il agit comme un proxy. Étant donné qu'un serveur peut analyser n'importe quelle page, il peut ... et ensuite il vous renvoie en tant que JSONP code>. Étant donné que JSONP code> est cross-domaine, vous pouvez l'utiliser à partir de n'importe quel domaine :)
Je ne veux pas frapper un autre serveur, bien que cela semble cool il y a environ 3 façons différentes de le faire mentionné dans le commentaire par MIC.
Je dis donc à éviter la discussion. Marquez comme réponse si ma réponse vous a aidé :)
En fait ... les voies ci-dessus exigent un accès à une seconde origine ... votre chemin exige ... 3ème partie.
Vous pouvez le faire en utilisant xmlhttp code>
Si vous demandez si vous pouvez inspecter la DOM d'un document dans une autre origine, alors non. Cela permettrait de voler des données utilisateur sous forme ou de servir simplement dans le texte.
La même politique d'origine vous empêche de faire cela. Vous pouvez consulter Stackoverflow.com/questions/3076414
Pourquoi voulez-vous faire cela à partir d'un client Web au lieu d'un programme Serverside comme un robot / bot?
Vous voulez analyser une page par JavaScript (je veux dire voir le HTML de celui-ci?)
document.getelmentByID (). contentwindow.document pour ledit iframe ... Je vais comprendre la syntaxe plus tard.
@ Cs_2013:
document.getelementByID ('myiframe'). Contentwindow.document code>. Il a été supprimé car cela ne fonctionnera pas si l'IFrame est d'un domaine différent de votre page.@Mic - Merci d'avoir un peu d'espoir maintenant.
@ Cs_2013, voir ma réponse ci-dessous
@Mic - Ces méthodes nécessitent-elles le contrôle de l'autre domaine?