- 浏览: 54774 次
最新评论
-
daunty:
代码呢发发发
WebCollector爬虫的redis插件 -
bishibaodian:
不要在这样找笔试题了,一次就这么几个,还没过瘾就没有了,去安装 ...
JAVA笔试题集合
文章列表
用WebCollector爬取整站图片,只需要遍历整站页面,然后将URL为.jpg、gif的页面(文件)保存到本地即可。
例如我们爬取一个美食网站,获取里面所有的图片:
import cn.edu.hfut.dmic.webcollector.crawler.BreadthCrawler;
import cn.edu.hfut.dmic.webcollector.model.Page;
import cn.edu.hfut.dmic.webcollector.util.FileUtils;
import java.io.IOException;
import java.util.c ...
- 2014-11-06 00:24
- 浏览 2286
- 评论(0)
WebCollector Cookbook (WebCollector中文文档):
http://www.brieftools.info/document/webcollector/
- 2014-10-04 21:52
- 浏览 2104
- 评论(0)
使用WebCollector的redis插件,进行爬取。(使用redis数据库进行任务管理)
/**
* RedisCrawler是WebCollector的一个插件,将WebCollector的任务管理交
* 给redis数据库,使WebCollector可以进行海量网页的爬取
*/
public class MyCrawler extends RedisCrawler{
public MyCrawler(String tableName,String ip,int port){
super(tableName,ip,port);
}
...
- 2014-10-03 23:28
- 浏览 1581
- 评论(1)
对一些访问受限的网站进行爬取(例如需要登录、切换代理),往往需要进行自定义http请求。
BreadthCrawler默认使用JDK自带的HttpUrlConnection进行http请求,下面示例通过自定义http请求,使用httpclient 4.x进行http请求。(需要导入httpclient 4.x所需jar包,或添加httpclient 4.x的maven dependency).
import cn.edu.hfut.dmic.webcollector.crawler.BreadthCrawler;
import cn.edu.hfut.dmic.webcollector ...
- 2014-10-03 23:25
- 浏览 1472
- 评论(0)
WebCollector爬虫并不像scrapy那样,提供一个pipeline这样的数据持久化接口。
用户通过自定义WebCollector中BreadthCrawler中的visit方法,来定义对每个页面的操作。同样,数据的持久化,也是在这里让用户自定义的。
例如下面这个示例,展示如何将网页的源码,保存到数据库中:
import cn.edu.hfut.dmic.webcollector.crawler.BreadthCrawler;
import cn.edu.hfut.dmic.webcollector.model.Page;
public class MyCrawler e ...
- 2014-10-03 23:13
- 浏览 2419
- 评论(0)
WebCollector建议使用内置的Jsoup进行网页抽取。
从网页抽取的稳定性角度来说,Jsoup使用的CSS SELECTOR无疑是最稳定的抽取特征。传统的抽取方案大多数依赖正则或者xpath,但是正则和xpath这两个特征无论是从稳定性,还是从开发效率,都远远低于CSS SELECTOR。
下面的示例,就是用WebCollector内置的Jsoup,对知乎的提问进行抽取:
public class ZhihuCrawler extends BreadthCrawler{
/*visit函数定制访问每个页面时所需进行的操作*/
@Override
p ...
- 2014-10-03 22:50
- 浏览 2557
- 评论(0)
BreadthCrawler是WebCollector最常用的爬取器之一,依赖文件系统进行爬取信息的存储。这里以BreadthCrawler为例,对WebCollector的爬取配置进行描述:
import cn.edu.hfut.dmic.webcollector.crawler.BreadthCrawler;
import cn.edu.hfut.dmic.webcollector.model.Page;
impo ...
- 2014-10-03 22:37
- 浏览 5800
- 评论(0)
定义一个MyCrawler类,继承BreadthCrawler,来完成一个爬虫,对合肥工业大学官网和新华网进行爬取。
对于一个最简单的爬虫,有2个东西是必备的:
1)种子
2)正则约束
3)对每个页面的自定义操作(BreadthCrawler默认的visit方法是将网页保存到文件夹,建议覆盖,改成自己的自定义操作)
import cn.edu.hfut.dmic.webcollector.crawler.BreadthCrawler;
import cn.edu.hfut.dmic.webcollector.model.Page;
public class MyCrawler ...
- 2014-10-03 22:22
- 浏览 2517
- 评论(0)
网络爬虫之所以能够不断找到新的网页,是因为它能够从已经爬取的页面中,提取出未爬取的超链接,但是当爬虫开启的时候,是没有已知网页的。所以我们需要告诉爬虫至少1个url,让爬虫通过爬取这个url对应的网页,来找到新的网页(通过超链接抽取)。
对于广度遍历来说,种子就是树的树根(森林的树根集合)。
例如下图,对http://www.apache.org/进行爬取,http://www.apache.org/就是种子。
一般把爬虫的种子设为网站的首页。
- 2014-10-03 21:29
- 浏览 711
- 评论(0)
WebCollector可通过MAVEN直接导入项目,在pom.xml中添加dependency:
<dependency>
<groupId>cn.edu.hfut.dmic.webcollector</groupId>
<artifactId>WebCollector</artifactId>
<version>1.31</version>
</dependency>
- 2014-10-03 21:21
- 浏览 1197
- 评论(0)
将WebCollector导入普通项目只需要两步:
1.到WebCollector的github主页https://github.com/CrawlScript/WebCollector ,下载webcollector-版本号-bin.zip,解压。
2.将解压后文件夹中所有的jar包,加入项目的build path,导入成功。
- 2014-10-03 21:18
- 浏览 603
- 评论(0)
用WebCollector下载的在线API文档,发布在精简导航上:
JAVA6的中文API:
http://www.brieftools.info/document/JDK60/
JSOUP中文教程:
http://www.brieftools.info/document/jsoup/
- 2014-10-03 17:44
- 浏览 829
- 评论(0)
本文利用WebCollector内核的解析,来描述如何设计一个网络爬虫。我们先来看看两个非常优秀爬虫的设计。
Nutch
Nutch由apache开源组织提供,主页:http://nutch.apache.org/
Nutch是目前最好的网络爬虫之一,Nutch分为内核和插件两个模块 ...
- 2014-09-27 13:03
- 浏览 932
- 评论(0)
发现ruby-china中很多在github.io上的个人博客文章质量还是不错的.但是很少文章被转载和收录.
所以我对ruby-china中很多用户个人博客做了个推送网站,希望这些优秀博客可以被看到.http://www.brieftools.info/blogger/
如果有博主希望被收录,回复网址即可.
注意:网页每半分钟变动一次.
- 2014-09-01 01:32
- 浏览 548
- 评论(0)
JAVA爬虫WebCollector教程列表
入门教程:
WebCollector入门教程(中文版)
用WebCollector对指定URL进行爬取和解析
用WebCollector进行二次开发,定制自己的爬虫
JAVA爬虫Nutch、WebCollector的正则约束
实例:
用WebCollector制作一个爬取《知乎》并进行问题精准抽取的爬虫(JAVA)
用WebCollector爬取新浪微博
- 2014-08-28 14:21
- 浏览 1235
- 评论(0)