crawler4j
haoshenwang
Alibaba大神
展开
-
Java网络爬虫crawler4j学习笔记<1>入门
简介环境搭建爬虫开发环境代码研究环境crawler4j架构代码阅读与分析简介crawler4j是一个开源的网络爬虫框架(github地址),可以帮助我们很快地实现一个最基本的网络爬虫。同时由于它的架构比较简单,整个项目只有几十个代码文件,并且完全实现了一个爬虫应该具有的所有基本单元。麻雀虽小,肝胆俱全。非常适合爬虫菜鸟来进行深入的学习。环境搭建爬虫开发环境如果你只是想在你的爬虫项目中使用c原创 2016-11-07 21:16:14 · 6024 阅读 · 2 评论 -
Java网络爬虫crawler4j学习笔记<15> FormAuthInfo类
源代码package edu.uci.ics.crawler4j.crawler.authentication;import javax.swing.text.html.FormSubmitEvent.MethodType;import java.net.MalformedURLException;/** * Created by Avi Hayun on 11/25/2014. * * F原创 2016-11-10 10:57:45 · 1255 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<16> exceptions
简介edu.uci.ics.crawler4j.crawler.exceptions包比较简单,里面都是一些自定义的异常类。源代码ContentFetchExceptionpackage edu.uci.ics.crawler4j.crawler.exceptions;/** * Created by Avi Hayun on 12/8/2014. * * Thrown when there原创 2016-11-10 11:16:13 · 1066 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<17> CrawlConfig类
简介CrawlConfig类存放着爬虫的基本配置,可供用户在初始化爬虫时进行配置。CrawlConfig类也向其他的功能模块提供它们需要的爬虫配置信息。源代码/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTI原创 2016-11-10 12:13:51 · 3315 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<18> Configurable类
简介Configurable抽象类包含了一个爬虫配置信息对象config,爬虫其他的功能模块有可能需要用到这些配置信息。源代码package edu.uci.ics.crawler4j.crawler;/** * Several core components of crawler4j extend this class * to make them configurable. * * @a原创 2016-11-10 12:28:24 · 794 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<21> Page 类
简介Page 类解析httpClient包中的Entity对象,获取当前页面的信息,包括url(转换为WebURl),response的信息(status code, response header等),解析后的内容信息等等。源代码package edu.uci.ics.crawler4j.crawler;import java.nio.charset.Charset;import org.apac原创 2016-11-10 14:32:30 · 1250 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<19> SAX解析工具类
ExtractedUrlAnchorPair 类package edu.uci.ics.crawler4j.parser;// 将html文本中的超链接标签,拆分为href(超链接),anchor(锚文本),tag(HTML标签)各部分public class ExtractedUrlAnchorPair { private String href; private String ancho原创 2016-11-10 15:42:50 · 967 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<20> 网页内容转码解析
简介网页内容解析相关的类和接口位于包edu.uci.ics.crawler4j.parser中,用于拆分解析html网页的各部分内容。源代码ParseData接口ParseData 接口包含getOutgoingUrls方法,用于获取当前页面的所有外链。package edu.uci.ics.crawler4j.parser;import edu.uci.ics.crawler4j.url.WebU原创 2016-11-10 14:20:00 · 2461 阅读 · 2 评论 -
Java网络爬虫crawler4j学习笔记<22> Parser 类
简介Parser类负责将从服务器得到的byte[]数据(存储在Page对象里)进行解析,按照binary,text,html的类型,分别调用相应的parseData类>。这里有个容易混淆的点:类BinaryParseData,TextParseData,HtmlParseDat命名有点不好,它们表示的意思是pase之后得到的关于网页的规范化的Data,而不是动名词结构(parse data)。源代码原创 2016-11-10 20:28:51 · 6210 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<23> IdleConnectionMonitorThread类
简介IdleConnectionMonitorThread类负责监控httpclient中的连接,进行清理操作。同时提供终止爬虫的功能。源代码package edu.uci.ics.crawler4j.fetcher;import java.util.concurrent.TimeUnit;import org.apache.http.impl.conn.PoolingHttpClientConne原创 2016-11-10 21:17:52 · 5480 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<24> PageFetchResult类
源代码package edu.uci.ics.crawler4j.fetcher;import java.io.EOFException;import java.io.IOException;import org.apache.http.Header;import org.apache.http.HttpEntity;import org.apache.http.util.EntityUtil原创 2016-11-10 21:41:15 · 1294 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<14> BasicAuthInfo类
源代码package edu.uci.ics.crawler4j.crawler.authentication;import javax.swing.text.html.FormSubmitEvent.MethodType;import java.net.MalformedURLException;/** * Created by Avi Hayun on 11/25/2014. * * B原创 2016-11-10 10:55:30 · 1139 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<13> AuthInfo类
源代码package edu.uci.ics.crawler4j.crawler.authentication;import javax.swing.text.html.FormSubmitEvent.MethodType;import java.net.MalformedURLException;import java.net.URL;/** * Created by Avi Hayun o原创 2016-11-10 10:51:10 · 1886 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<12> RobotstxtParser类
源代码package edu.uci.ics.crawler4j.robotstxt;import java.util.StringTokenizer;// 根据网站的robot.txt文本,构建allows和disallow集合public class RobotstxtParser { // 当使用String.matches方法调用时,"?i"表示忽略大小写 private stat原创 2016-11-10 10:18:39 · 1577 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<2> Util类
源代码package edu.uci.ics.crawler4j.util;public class Util { // 将long类型(8字节64位)变量,转化为长度为8的byte数组。变量的高位位于byte数组的前面 public static byte[] long2ByteArray(long l) { byte[] array = new byte[8];原创 2016-11-08 00:15:38 · 2035 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<3> IO类
源代码package edu.uci.ics.crawler4j.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.File;public class IO { //日志记录对象 private static Logger logger = LoggerFactory.getLogge原创 2016-11-08 09:55:09 · 1388 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<4> Net类
源代码package edu.uci.ics.crawler4j.util;import edu.uci.ics.crawler4j.url.WebURL;import java.util.HashSet;import java.util.Set;import java.util.regex.Matcher;import java.util.regex.Pattern;public class原创 2016-11-08 10:25:54 · 1371 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<5> TLDList类
源代码package edu.uci.ics.crawler4j.url;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net原创 2016-11-08 19:57:53 · 1949 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<7> UrlResolver类
源代码package edu.uci.ics.crawler4j.url;// 将相对地址转化为绝对地址(具体内容参考文档http://www.faqs.org/rfcs/rfc1808.html)public final class UrlResolver { /** * Class <tt>Url</tt> represents a Uniform Resource Loc原创 2016-11-08 21:44:25 · 1918 阅读 · 1 评论 -
Java网络爬虫crawler4j学习笔记<6> WebURL类
源代码分析package edu.uci.ics.crawler4j.url;import java.io.Serializable;import com.sleepycat.persist.model.Entity;import com.sleepycat.persist.model.PrimaryKey;@Entity // Berkley DB Annotationpublic class原创 2016-11-08 20:39:27 · 2020 阅读 · 2 评论 -
Java网络爬虫crawler4j学习笔记<8> URLCanonicalizer类
源代码package edu.uci.ics.crawler4j.url;import java.net.MalformedURLException;import java.net.URI;import java.net.URISyntaxException;import java.net.URL;import java.net.URLDecoder;import java.net.URL原创 2016-11-08 22:26:33 · 1958 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<9> RuleSet类
源代码package edu.uci.ics.crawler4j.robotstxt;import java.util.SortedSet;import java.util.TreeSet;// RuleSet类根据robot.txt来定义爬虫爬取url时的rulepublic class RuleSet extends TreeSet<String> { private static fin原创 2016-11-10 09:32:34 · 1126 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<10> HostDirectives类
源代码package edu.uci.ics.crawler4j.robotstxt;// 存放当前Host的robot.txt指令public class HostDirectives { // If we fetched the directives for this host more than // 24 hours, we have to re-fetch it. privat原创 2016-11-10 09:44:07 · 907 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<11> RobotstxtConfig类
源代码package edu.uci.ics.crawler4j.robotstxt;// robot.txt的配置类public class RobotstxtConfig { /** * Should the crawler obey Robots.txt protocol? More info on Robots.txt is * available at http://www原创 2016-11-10 09:48:46 · 1200 阅读 · 0 评论 -
Java网络爬虫crawler4j学习笔记<25> PageFetcher类
简介PageFetcher类主要是HTTPClient包的运用。需要了解其API代码package edu.uci.ics.crawler4j.fetcher;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.security.cert.X509Certificate;impor原创 2016-11-10 22:13:14 · 2186 阅读 · 0 评论