0
웹 수확물을 사용하여 웹 페이지에서 특정 콘텐츠를 긁어 내고 싶습니다. 내용을 긁어 내려고했을 때 다른 웹 사이트에서 잘 작동하지만 this URL의 내용을 긁어 모으지 않습니다.웹 수확을 사용하여 웹 페이지 콘텐츠 긁기
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<=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());
}
}
}
그리고 내 XML은 여기에 있습니다 : :
내 자바 코드가 여기에있다
I 등이 URL 예를 들어, 후보 이름의 첫 번째 블록, 현재의 명칭, 회사를 긁어 할<?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>
, 하지만 XML 파일에서 해당 클래스를 사용하여 다쳤습니다.
(I 후보 이름 만 긁어 첫 번째 시도에 대해 하나의 시도) 그러나 그것은 작동하지 않습니다. 누구든지 내가 뭘 잘못하고 있는지 말해 줄 수 있니?
, 그것은 "스크랩"스크랩 '또는'폐기 반대 '크레이프'또는 '긁어'이다. 위에서 본 코드에서 몇 가지 힌트를 얻을 수 있습니다. –
고맙습니다.하지만이 해결책은 무엇입니까? –
철자가 맞습니까? 이미 편집 한 편집. 미래에 더 많은주의를 기울이거나 질문을 타이핑 할 때 더 많은주의를 기울이십시오. –