一、爬取国际石油网知识板块
要爬取的网站为:http://oil.in-en.com/zhishi/
网站结构比较标准,新闻列表页单一且包含href链接,下一页链接等信息
1.1 添加种子
}else if (crawler.webMoudle == 38) { if (crawler.mk.equals("Sybk")) { /* 起始页 */ crawler.addSeed("http://oil.in-en.com/zhishi/"); crawler.addRegex("http://oil.in-en.com/html/oil.*"); } }
1.2 visit覆写
- 先提取列表页的Elements,他的class为”clist sborder“
- 过滤其中的a[href],如果包含"http://oil.in-en.com/html/oil"就加入清洗和入库
- 如果indexOf("下一页")就next.add(href);,即将此链接设置为下一页的种子
else if (this.webMoudle == 38) { Elements pageHaveClass = page.select("div[class]"); for (Iterator it = pageHaveClass.iterator(); it.hasNext();) { Element pageSelectedClass = (Element) it.next(); String classAttr = pageSelectedClass.attr("class"); if (classAttr.equals("clist sborder")) { Elements es = pageSelectedClass.select("a[href]"); for (Iterator itHref = es.iterator(); itHref.hasNext();) { Element e = (Element) itHref.next(); String href = e.attr("abs:href"); if (e.text().indexOf("下一页") >= 0) { next.add(href); } if (href.indexOf("http://oil.in-en.com/html/oil") != -1) { String title = e.text(); datebaseByContentExtractor(href, title); } } } } }
清洗、时间条件过滤、关键词过滤和入库的过程此处省略
在过滤class="clist sborder"的步骤好像麻烦了,但是jsoup的css选择器对于属性中间有空格的解决方法这边不是很了解,也没有查到,看下面可不可以解决。
相关推荐
总的来说,WebCollector是一个强大的开源爬虫框架,它的设计考虑了实际开发中的各种需求,通过学习和使用这个源码包,开发者可以快速掌握网络爬虫的开发技巧,提升数据获取和处理的能力。无论是对于个人项目还是企业...
WebCollector是一个广泛使用的网络爬虫框架,主要用于自动化地抓取互联网上的信息。v2.x版本是该框架的一个重要迭代,提供了更多的功能和优化,以适应不断变化的网页结构和网络环境。源码的公开使开发者能够深入理解...
WebCollector是一个广泛应用于数据抓取和网络爬虫的Java框架,尤其在大数据处理和信息挖掘领域中占有重要地位。这个框架的设计目标是提供一个高效、灵活且易于使用的工具,使得开发者能够快速构建复杂的网络爬虫系统...
【SpringBoot+mybatis+WebCollectorS】是一个基于SpringBoot框架构建的简单爬虫应用程序,它结合了MyBatis作为持久层框架,...对于初学者,这个项目是一个很好的学习资源,能够帮助理解如何在实际开发中整合这些技术。
WebCollector是一个专为数据抓取和爬虫设计的软件工具,其核心功能是实现多线程的数据采集。在深入理解WebCollector之前,我们先要了解什么是爬虫。 爬虫(Spider或Web Crawler)是一种自动浏览互联网并抓取网页...
记录的一些笔记。 近期(update: 2017.10.29) [RussellCloud server & cli] 实习/创业团队 最近阅读 项目经历 目录索引 Booklists 阅读的所有书单。包括看过的视频。 Bookmarks 平时收藏的书签等内容汇总。 Language ...