复制代码代码如下 :
package com.letv.cloud.spider;
java.util.hashset 가져 오기;
Java.util.list 가져 오기;
US.Codecraft.WebMagic.Page import;
US.Codecraft.WebMagic.site import;
US.Codecraft.WebMagic.spider import;
US.Codecraft.WebMagic.Processor.PageProcessor import;
공개 클래스 MoviePaperPageProcessor는 PageProcessor를 구현합니다.
개인 사이트 페이지 = site.me (). setretrytimes (3) .SetSleeptime (1000);
공개 사이트 getSite () {
반환 페이지;
}
공개 무효 프로세스 (페이지 페이지) {
List <string> links = page.gethtml (). links (). regex (
"http://posters.aa.com/poster//d+") .all ();
링크 = removedUplication (링크);
page.addtargetRequests (링크);
page.putfield ( "title", page.gethtml (). xpath (
"// div [@id = 'imdbleftsecc']/center/h1/text ()"). toString ());
page.putfield ( "imgurl", page.gethtml (). xpath (
"// div [@id = 'imdbleftsecc']/center/img/@src"). toString ());
}
public static void main (String [] args) {
for (int i = 1; i <= 3; i ++) {
Spider.create (New MoviePaperPageProcessor ()). AddUrl (
"http://posters.aa.co/poster_page/" + i) .thread (5) .run ();
}
}
공개 정적 목록 removedUplication (목록 목록) {
해시 셋 hs = 새로운 해시 세트 (목록);
list.clear ();
list.addall (hs);
반환 목록;
}
}