/**
* 使用搜狗搜索检索关键字并爬取结果集的标题
* @author tele
*
*/
public class SougouCrawler extends RamCrawler{ public SougouCrawler() { } public SougouCrawler(String keyword,int maxnum) {
for(int i=1;i<=maxnum;i++) {
//拼接url
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";
CrawlDatum crawlDatum = new CrawlDatum(url).meta("pageNum",i);
addSeed(crawlDatum);
addRegex(".*");
}
} @Override
public void visit(Page page, CrawlDatums next) {
String pageNum = page.meta("pageNum");
Elements results = page.doc().select("div.results div[^class] h3 a");
for(int i=0;i<results.size();i++) {
System.out.println("第"+ pageNum +"页第"+ (i+1) +"条结果------" + results.get(i).text());
}
} public static void main(String[] args) throws Exception {
String keyword="淘宝";
SougouCrawler crawler = new SougouCrawler(keyword,3);
crawler.setThreads(8); Configuration conf = Configuration.copyDefault();
conf.setExecuteInterval(3000);
conf.setReadTimeout(5000);
conf.setWaitThreadEndTime(3000); crawler.setConf(conf);
crawler.start(1);//只有一层
}
}

输出截图(部分)

验证第二页数据标题

最新文章

  1. 浅谈C中的malloc和free
  2. Add, remove, shuffle and sort
  3. BZOJ 1982 Moving Pebbles
  4. &lt;php&gt;统计整个文件夹的大小
  5. 与众不同 windows phone (19) - Device(设备)之陀螺仪传感器, Motion API
  6. background是什么样式?
  7. web端创建地图
  8. IOS高级开发之多线程(五)NSOperation 2
  9. Spring Boot 2.0 升级指南
  10. window 平台上面解决不能动态php_mysqli.dll
  11. 从一个简单的 JPA 示例开始
  12. Velocity的学习1
  13. Andoid自动判断输入是电话,网址或者Email的方法--Linkify
  14. 架构师养成记--37.简单shell编程
  15. 打包工具的核心原理(转自:https://juejin.im/entry/5b223ebd518825748b569bda)
  16. Pycharm实现服务器端代码的远程调试
  17. C#封装StackExchange.Redis操作
  18. IO编程之writelines方法
  19. 如何去除pycharm中代码下的波浪线
  20. scala中lazy

热门文章

  1. 从数据表中随机抽取n条数据有哪几种方法(join实现可以先查数据然后再拼接)
  2. jquery的滚动事件
  3. java.util.logging使用笔记2
  4. js json简介(json的本质也是字符串)(用于服务器和客户端通信)
  5. 我的MFC/C++学习笔记 http://blog.bccn.net/CrystalFan/6909
  6. [RxJS] Hot Observable, by .share()
  7. [CSS] Manipulate Images Using CSS Filter and Blend Modes
  8. oracle分组取每组第一条数据
  9. Windows Phone 8.1 应用间共享
  10. 枚举系统磁盘驱动器(使用GetLogicalDriveStrings API函数,system(&quot;pause&quot;); 很实用,还用到wcslen等函数)