Estoy tratando de obtener el contenido de un div por el nombre del identificador.

Aquí es el div estoy tratando de conseguir: <div id="article-body"> ... </div>

Sin embargo, esto es en otro sitio web externo, así que tiene que ser llamado con www o http://etc…

Estoy seguro de que es posible. Simplemente no está seguro de si debo usar PHP, DOM o jQuery, etc..

Estoy pensando en este código debe ser posible hacer en un par de líneas. No sé cuál es el mejor método. Gracias por los consejos o ideas.

ACTUALIZACIÓN: se sugirió que esto era un duplicado de la pregunta. No es. He utilizado el código de la propuesta de duplicar la pregunta de abajo y no funciona.

Aquí es uno de los errores: Advertencia: DOMDocument::loadHTML() [domdocument.loadhtml]: ID changeRegionForm ya definidos en la Entidad, de la línea: 85 /home/content/w/i/s/wisdom33/html/testing/getDivExternalWebsite.php en la línea 14

Aquí hay un enlace con el código: http://massmediamail.com/testing/getDivExternalWebsite.php

Aquí está el código:

<html>

<body>
<?
$doc = new DomDocument;

//We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->loadHtml(file_get_contents('http://www.lifesitenews.com/news/second-madagascar-archbishop-criticizes-catholic-relief-services-full-trans'));

var_dump($doc->getElementById('article-body'));
?>
</body>
</html>
Posibles duplicados: stackoverflow.com/questions/5045598/… stackoverflow.com/questions/26947/… stackoverflow.com/questions/3577641/…
Espera… ¿estás tratando de recuperar el contenido de los sitios externos y, a continuación, poner dentro de un DIV con ID=article-cuerpo en su página, o desea obtener el contenido de un DIV con ID=article-cuerpo que en realidad está en otro sitio?
Sólo falta que el contenido. Y luego voy a un paquete de ellos en un div, pero con mis propios estilos css etc.
Lo sentimos, todavía no entiendo: ¿de dónde DIV#artículo-cuerpo existe, en su página o en la fuente externa? (No su contenido, el elemento DIV.) Esto es importante porque el último implicaría análisis el HTML que recibe de la fuente externa
no es un duplicado porque he probado el código de uno de los sitios que usted sugiere y tengo este error: Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: ID changeRegionForm ya definidos en la Entidad, de la línea: 85 /home/content/w/i/s/wisdom33/html/testing/getDivExternalWebsite.php en la línea 14

OriginalEl autor Papa De Beau | 2013-09-09

2 Comentarios

  1. 4

    La respuesta está en http://simplehtmldom.sourceforge.net/

    Y una vez descargado el código de la url de arriba y colocarlo en el lugar apropiado y un enlace a ella correctamente, a continuación, de este código en la parte inferior, funciona perfecto para lo que te pedí anteriormente.

    <?php
    
    //Note you must download the php files from the link above 
    //and link to them on this line below. 
    include_once('../simple_html_dom.php');
    
    $html = file_get_html('http://www.lifesitenews.com/news/second-madagascar-archbishop-criticizes-catholic-relief-services-full-trans');
    $elem = $html->find('div[id=article-body]', 0);
    echo $elem;
    
    ?>
    Exactamente lo que estaba buscando. He probado otros, pero que se quite el interior de las etiquetas.

    OriginalEl autor Papa De Beau

  2. 1

    Esto es incorrecto:

     <div> id="article-body" </div>

    debe ser

     <div id="article-body"></div>

    Supongo que desea utilizar jQuery.ajax para cargar contenido desde otra fuente.

    Si quieres una parte específica de los datos dentro de una URL externa (el contenido del DIV#artículo-cuerpo), usted tendrá que analizar la totalidad de contenidos externos a conseguir lo que usted necesita.

    Me gustaría tratar jQuery parseHTML.

    Siento que fue un error como escribí la pregunta. Arreglado esto. Gracias
    Y con este puedo conseguir un determinado div? Ok voy a intentar. Gracias
    Tenga en cuenta que este es el lado del cliente enfoque, y usted tendrá que mirar hacia fuera para los problemas con el política de mismo origenque puede ser capaz de eludir usando JSONP (en jQuery, dataType: «jsonp»).
    La otra alternativa es utilizar su propio servidor como un proxy inverso, la recolección de estos contenidos a través de [cURL](php.net/manual/en/book.curl.php). Pero esto es mucho más pesado en su servidor.
    Gracias LexLythius, no está seguro de cuál es su comentario sobre la política de mismo origen significa…. pero voy a mirar en la curvatura. No creo que el jQuery funciona, pero no he probado todavía.

    OriginalEl autor LexLythius

Dejar respuesta

Please enter your comment!
Please enter your name here