Obtenga el elemento del cuerpo del sitio usando solo javascript

2 minutos de lectura

Me gustaría recuperar el contenido del cuerpo de los siguientes sitios http://sports.espn.go.com/nhl/bottomline/scores?nhl_s_left1 y almacenarlo en una cadena, lo sé y tengo éxito en recuperar esto usando php, sin embargo, quiero limitarme a usar solo javascript, ¿hay alguna manera de tomar la cadena en el sitio, copiarla y almacenarla en un var?

  • Es problemático obtener contenido de una página remota, pero puede consultar esta solución: stackoverflow.com/a/3076648/3208639.

    – damian004

    26/09/2014 a las 20:23


  • Oye, Zak, sé que han pasado 8 años, pero, ¿quizás pienses en cambiar la respuesta aceptada? Odio rechazar las respuestas antiguas porque son esencialmente incorrectas. =\

    – HoldOffHunger

    24 de noviembre a las 1:23

Avatar de usuario de Lalit Mohan
Lalit Mohan

Aunque la respuesta de @Brendan es aceptada y correcta.

Es lo suficientemente simple, corto y rápido para obtener un elemento del cuerpo usando

document.body;

Hace lo mismo que podemos hacer con document.getElementsByTagName('body')[0];y debería estar en la lista de respuestas.

  • Y para usarlo aún más limpio, simplemente conviértalo en una variable var body = document.body;

    – Loosie94

    6 de julio de 2021 a las 21:03

  • … o document.body.outerHTML obtener como una cadena

    – SAMPro

    4 de mayo a las 13:14

Prueba esto:

<script>
window.onload = function get_body() {

  body = document.getElementsByTagName('body')[0];
}

</script>

Permítanme explicar. los window.onload es para que el HTML se cargue antes de que se ejecute el script. Aunque solo hay una etiqueta de cuerpo, este es el método que uso ^. Básicamente, encuentra la “primera” etiqueta del cuerpo que hay, luego le digo que solo obtenga el elemento del cuerpo en sí y no todos los demás atributos y nodos secundarios que lo acompañan usando un índice de [0]. Si desea que todo tenga que ver con la etiqueta del cuerpo, pierda el índice de 0. ¡Espero que esto ayude!

  • O solo document.body.

    – Félix Kling

    26/09/2014 a las 21:09

  • Sí, pero si solo quiere la etiqueta en sí, le he presentado esa opción @FelixKling

    – Brendan

    26/09/2014 a las 21:52

  • ¿Oh? document.body devuelve el mismo valor que document.getElementsByTagName('body')[0] y es más corto de escribir.

    – Félix Kling

    26/09/2014 a las 21:53


  • @FelixKing ¡Entiendo lo que intentas decir! Gracias 🙂

    – Zak

    27/09/2014 a las 21:53

Otra opción más:

let body = document.querySelector("body");

¿Ha sido útil esta solución?