Raspar el contenido de la página web usando Web-harvest

Quiero extraer contenidos particulares de las páginas web, para esto estoy usando la cosecha web. Está funcionando bien para otro sitio web cuando traté de raspar contenido pero no está raspando contenido para esta URL.

Mi código Java está aquí:

import org.webharvest.definition.ScraperConfiguration;
import org.webharvest.runtime.Scraper;
import org.webharvest.runtime.variables.Variable;
import java.io.FileNotFoundException;
public class App 
{
public static void main(String[] args) 
{
    try 
    {
        ScraperConfiguration config  =  new ScraperConfiguration("twit88.xml");
        Scraper scraper = new Scraper(config, "c:/temp/");
        //scraper.getHttpClientManager().setHttpProxy("proxy-server", 8001);
        scraper.addVariableToContext("url", "http://freesearch.naukri.com/preview/preview?uname=63017692f2b266780bfd20476cd67466001a4a17005b4a5355041f121b502e18514b4e4e43121c4151005&sid=73682841&LT=1339495252");
        scraper.setDebug(true);
        scraper.execute();
        // takes variable created during execution
        Variable article = (Variable)scraper.getContext().getVar("article");
        // do something with articles...
        System.out.println(article.toString());
        //System.out.println("1234=====rtyu");
    } 
    catch (FileNotFoundException e) 
    {
        System.out.println(e.getMessage());
    }
 }
}

Y mi XML está aquí:

<?xml version="1.0" encoding="UTF-8"?>

<config charset="UTF-8">
<!--
<var-def name="url">http://twit88.com/blog/2008/01/02/java-encrypt-and-send-a-   large-file-securely/</var-def>        
 -->

 <!-- <file action="write" path="twit88/twit88${sys.date()}.xml" charset="UTF-8"> -->

    <!--
    <template>
        <![CDATA[ <twit88 date="${sys.datetime("dd.MM.yyyy")}"> ]]>
    </template>
    -->
<var-def name="article">
    <xquery>
      <xq-param name="doc">
            <html-to-xml outputtype="browser-compact" prunetags="yes">
                <http url="${url}"/>
            </html-to-xml>
      </xq-param> 

      <xq-expression><![CDATA[ 
        declare variable $doc as node() external;          
         let $title := data($doc//div[@class="bdrGry"]/div[@class="boxHD1"]/h1)

        return
           <article>                
                 <title>{data($title)}</title>
           </article>             
       ]]>
       </xq-expression> 

    </xquery> 
    </var-def>
    <!--
      <![CDATA[ </twit88> ]]>  -->
    <!-- </file> -->               

     </config>

Quiero raspar el primer bloque de esta URL, por ejemplo, el nombre del candidato, la designación actual, la empresa, etc., pero no puedo raspar usando su clase en el archivo XML, por ejemplo (probé solo uno para el primer intento de raspar solo el nombre del candidato)

  declare variable $doc as node() external;          
         let $title := data($doc//div[@class="bdrGry"]/div[@class="boxHD1"]/h1)

Pero no está funcionando. ¿Alguien puede decirme qué estoy haciendo mal?

preguntado el 12 de junio de 12 a las 11:06

Aparte, es 'scrape' o 'scraping', a diferencia de 'scrap' scraps' o 'scrapping'. Es posible que haya recogido algunas pistas del código que se ve arriba. -

gracias por corregirme.Pero cual es la solucion de esto? -

¿La ortografía? Una edición (que ya he hecho). Eso y prestar más atención/usar más cuidado al escribir preguntas en el futuro. -

1 Respuestas

..no está raspando contenidos para esta URL.

Desde el Términos & condiciones de Naukri.com:

Naukri.com utiliza medios tecnológicos para impedir que Robots, etc. rastreen el sitio web y raspado de contenido. El usuario se compromete no eludir estos métodos.

Respondido el 12 de junio de 12 a las 12:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.