obtenez de texte d'une page web via javascript
Est-il un JavaScript déclaration qui va récupérer le contenu/texte d'une page web?
- Double Possible: stackoverflow.com/questions/822452/...
Vous devez vous connecter pour publier un commentaire.
Est-il un JavaScript déclaration qui va récupérer le contenu/texte d'une page web?
Vous devez vous connecter pour publier un commentaire.
Vous pourriez le faire avec
Range
s /TextRange
s. Cela a l'avantage de n'arriver que le texte visible sur la page (contrairement, par exemple, latextContent
propriété des éléments non-IE navigateurs, qui sera également vous obtenir le contenu de<script>
et éventuellement à d'autres éléments). Ce qui suit fonctionnera sur tous les navigateurs principaux, bien que je ne peux faire aucune garantie quant à la consistance des sauts de ligne entre les différents navigateurs.Mise à JOUR de novembre 2012
Je ne pense pas que ce soit une bonne idée ces jours-ci. Alors que
Selection
est maintenant spécifié, sestoString()
méthode n'est pas, et pour un certain temps (y compris lorsque Microsoft a été mise en œuvre pour IE 9) il a été précisé à se comporter commetextContent
. Pour cette méthode, le navigateur de la cohérence a empiré au lieu de s'améliorer depuis 2009.C'est une chose étrange à faire. Voulez-vous dire quoi que ce soit entre les balises comme
<p>
et<span>
ou quelque chose de plus sinistre, comme<title>
ainsi? Êtes-vous sûr que vous devez le faire en JS si vous êtes en grattant une page entière? Sonne comme une attaque XSS 😛Désinvolte, je ne sais pas de quoi que ce soit builtin qui vais le faire, mais vous pouvez toujours écrire une fonction pour accéder au DOM avec
document.getElementsByTagName
et gratter le texte de cette façon.Si la page que vous voulez gratter vient du même domaine, c'est assez simple. Il vous suffit d'utiliser AJAx pour obtenir la page en tant que texte, et ensuite trouver ce que vous voulez à partir de là. Voici un exemple:
Si la page provenant d'un domaine différent, vous êtes hors de la chance. Vous devez le faire sur le serveur. Vous êtes en mesure de charger des données sur votre page à partir d'un domaine différent à l'aide d'une IFrame (vous pouvez créer une IFrame invisible par programmation), mais le navigateur ne vous permettra pas de lire ces données en raison de politiques de sécurité.
Si vous voulez juste le contenu HTML de la page, vous êtes actuellement sur:
Si vous voulez le code HTML dans une autre page de Google "Ajax"