webcollector 2.x 爬取搜狗搜素结果页

Posted code never lies

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webcollector 2.x 爬取搜狗搜素结果页相关的知识,希望对你有一定的参考价值。

 1 /**
 2  * 使用搜狗搜索检索关键字并爬取结果集的标题
 3  * @author tele
 4  *
 5  */
 6 public class SougouCrawler extends RamCrawler{
 7     
 8     public SougouCrawler() {
 9         
10     }
11     
12     public SougouCrawler(String keyword,int maxnum) {
13         for(int i=1;i<=maxnum;i++) {
14             //拼接url
15             String url ="https://www.sogou.com/web?query="+keyword+"&s_from=result_up&cid=&page="+ i +"&ie=utf8&p=40040100&dp=1&w=01029901&dr=1";
16             CrawlDatum crawlDatum = new CrawlDatum(url).meta("pageNum",i);
17             addSeed(crawlDatum);
18             addRegex(".*");
19         }
20     }
21     
22     
23     @Override
24     public void visit(Page page, CrawlDatums next) {
25         String pageNum = page.meta("pageNum");
26         Elements results = page.doc().select("div.results div[^class] h3 a");
27         for(int i=0;i<results.size();i++) {
28             System.out.println("第"+ pageNum +"页第"+ (i+1) +"条结果------" + results.get(i).text());
29         }
30     }
31     
32     public static void main(String[] args) throws Exception {
33         String keyword="淘宝";
34         SougouCrawler crawler  = new SougouCrawler(keyword,3);
35         crawler.setThreads(8);
36         
37         Configuration conf = Configuration.copyDefault();
38         conf.setExecuteInterval(3000);
39         conf.setReadTimeout(5000);
40         conf.setWaitThreadEndTime(3000);
41         
42         crawler.setConf(conf);
43         crawler.start(1);//只有一层
44     }
45 }

输出截图(部分) 

 

验证第二页数据标题

 

以上是关于webcollector 2.x 爬取搜狗搜素结果页的主要内容,如果未能解决你的问题,请参考以下文章

WebCollector下载整站页面(JAVA网络爬虫)

动态网页爬取样例(WebCollector+selenium+phantomjs)

python爬虫_第二课

推荐10款流行的java开源的网络爬虫

Java之网络爬虫WebCollector2.1.2+selenium2.44+phantomjs2.1.1

用scrapy爬取搜狗Lofter图片