Search in sources :

Example 6 with Task

use of us.codecraft.webmagic.Task in project webmagic by code4craft.

the class RedisSchedulerTest method test.

@Ignore("environment depended")
@Test
public void test() {
    Task task = new Task() {

        @Override
        public String getUUID() {
            return "1";
        }

        @Override
        public Site getSite() {
            return null;
        }
    };
    Request request = new Request("http://www.ibm.com/developerworks/cn/java/j-javadev2-22/");
    request.putExtra("1", "2");
    redisScheduler.push(request, task);
    Request poll = redisScheduler.poll(task);
    System.out.println(poll);
}
Also used : Task(us.codecraft.webmagic.Task) Request(us.codecraft.webmagic.Request) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 7 with Task

use of us.codecraft.webmagic.Task in project webmagic by code4craft.

the class FilePipelineTest method before.

@BeforeClass
public static void before() {
    resultItems = new ResultItems();
    resultItems.put("content", "webmagic 爬虫工具");
    Request request = new Request("http://www.baidu.com");
    resultItems.setRequest(request);
    task = new Task() {

        @Override
        public String getUUID() {
            return UUID.randomUUID().toString();
        }

        @Override
        public Site getSite() {
            return null;
        }
    };
}
Also used : Site(us.codecraft.webmagic.Site) Task(us.codecraft.webmagic.Task) ResultItems(us.codecraft.webmagic.ResultItems) Request(us.codecraft.webmagic.Request) BeforeClass(org.junit.BeforeClass)

Example 8 with Task

use of us.codecraft.webmagic.Task in project webmagic by code4craft.

the class HttpClientDownloaderTest method testCycleTriedTimes.

@Test
public void testCycleTriedTimes() {
    HttpClientDownloader httpClientDownloader = new HttpClientDownloader();
    Task task = Site.me().setDomain("localhost").setCycleRetryTimes(5).toTask();
    Request request = new Request(PAGE_ALWAYS_NOT_EXISTS);
    Page page = httpClientDownloader.download(request, task);
    assertThat(page.getTargetRequests().size() > 0);
    assertThat((Integer) page.getTargetRequests().get(0).getExtra(Request.CYCLE_TRIED_TIMES)).isEqualTo(1);
    page = httpClientDownloader.download(page.getTargetRequests().get(0), task);
    assertThat((Integer) page.getTargetRequests().get(0).getExtra(Request.CYCLE_TRIED_TIMES)).isEqualTo(2);
}
Also used : Task(us.codecraft.webmagic.Task) Request(us.codecraft.webmagic.Request) Page(us.codecraft.webmagic.Page) Test(org.junit.Test)

Aggregations

Task (us.codecraft.webmagic.Task)8 Request (us.codecraft.webmagic.Request)6 Test (org.junit.Test)5 Ignore (org.junit.Ignore)4 Page (us.codecraft.webmagic.Page)3 Site (us.codecraft.webmagic.Site)3 ResultItems (us.codecraft.webmagic.ResultItems)2 Spider (us.codecraft.webmagic.Spider)2 BeforeClass (org.junit.BeforeClass)1 OOSpider (us.codecraft.webmagic.model.OOSpider)1 SpiderMonitor (us.codecraft.webmagic.monitor.SpiderMonitor)1 PageModelPipeline (us.codecraft.webmagic.pipeline.PageModelPipeline)1 Pipeline (us.codecraft.webmagic.pipeline.Pipeline)1