- 博客(138)
- 资源 (18)
- 收藏
- 关注
原创 IDEA常用快捷键
IDEA 常用快捷键Run cmd + 4 Debug cmd + 5 Terminal option + F12 Distraction Free Mode cmd + shift + F12 Move the current line of code cmd + s...
2018-06-26 19:34:04 483
原创 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 2169
原创 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 1276
原创 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 5462
原创 Java网络爬虫crawler4j学习笔记<22> Parser 类
简介Parser类负责将从服务器得到的byte[]数据(存储在Page对象里)进行解析,按照binary,text,html的类型,分别调用相应的parseData类>。这里有个容易混淆的点:类BinaryParseData,TextParseData,HtmlParseDat命名有点不好,它们表示的意思是pase之后得到的关于网页的规范化的Data,而不是动名词结构(parse data)。源代码
2016-11-10 20:28:51 6180
原创 SAX解析示例
简介关于Html DOM中的Node对象的namespace,localname等属性的详细解释,参见(W3C)。Book.xml<!-- <?xml version="1.0" encoding="UTF-8"?> <书架> <书> <书名 name="hello" value="world">海的女儿</书名> <作者>安徒生</作者>
2016-11-10 17:18:18 969
原创 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 947
原创 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 1230
原创 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 2435 2
原创 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 777
原创 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 3294
原创 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 1043
原创 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 1240
原创 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 1124
原创 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 1865
原创 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 1538
原创 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 1180
原创 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 876
原创 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 1107
原创 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 1945
原创 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 1905 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 2007 2
原创 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 1932
原创 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 1354
原创 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 1372
原创 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 2018
原创 Java网络爬虫crawler4j学习笔记<1>入门
简介环境搭建爬虫开发环境代码研究环境crawler4j架构代码阅读与分析简介crawler4j是一个开源的网络爬虫框架(github地址),可以帮助我们很快地实现一个最基本的网络爬虫。同时由于它的架构比较简单,整个项目只有几十个代码文件,并且完全实现了一个爬虫应该具有的所有基本单元。麻雀虽小,肝胆俱全。非常适合爬虫菜鸟来进行深入的学习。环境搭建爬虫开发环境如果你只是想在你的爬虫项目中使用c
2016-11-07 21:16:14 6007 2
原创 SSH免密码登录
1.使用ssh-keygen -t rsa在当前用户主目录~/.ssh下生成两个文件id_rsa,id_rsa.pub。之后需要将id_rsa.pub文件添加到你想要免密码登录的主机的~/.ssh/authorized_keys里面。2.使用scp id_rsa.pub user@hostname:~/.ssh/id_rsa.pub3.使用cat id_rsa.pub >> a
2016-10-10 22:36:35 552
原创 Hadoop配置SSH免密码登录
网上有很多教程,这里用的是一个比较简单的方法:1.使用ssh-keygen命令生成公钥和私钥文件2.使用ssh-copy-id命令,然后就ok了,之后ssh登录就不需要密码了。
2016-10-09 17:11:05 695
原创 Java 强引用,软引用,弱引用,虚引用
从JDK1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4中级别由高到低依次为:强引用、软引用、弱引用和虚引用。强引用:是使用最普遍的引用。如果一个对象具有强引用,垃圾回收器绝不会回收它。软引用(SoftReference):如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被
2016-10-02 13:22:04 421
原创 hashCode和equals方法辨析
首先理解HashSet里面的元素定位过程:1.首先调用元素的hashCode()方法来得到元素的哈希值,用来确定当前元素在哪个bucket里面(可以推出如果两个元素的hashCode不一样,则bucket不一样,则肯定不相等)。2.每个bucket是一个链表,用来存放所有具有相同hashcode的元素。接下来调用当前元素的equals()方法,在当前元素的hashcode对应的bucket
2016-10-01 23:42:15 474
原创 Java-Abstract Class and Interface
1.包含abstract抽象方法的类就是抽象类,此时抽象类必须使用abstract修饰,来表示它是抽象类。2.抽象类使用abstract来修饰,其中必须至少包含一个抽象方法。抽象类也可以包含自己的变量和具体实现方法。实际上,抽象类时类和接口的混合。3.继承抽象类必须实现抽象类中的abstract抽象方法。4.abstract是抽象类,它的方法可以不全是抽象方法,但必须包含抽象方法;而i
2016-10-01 11:17:58 358
原创 最简洁的Java垃圾回收总结
Java垃圾回收检查垃圾的方法:引用计数,引用链垃圾回收的方法:标记清除(只清除,不复制,不整理),标记复制(清除,复制到另一块内存),标记整理(清除,在同一块内存中进行碎片整理)虚拟机新生代使用标记复制,老年代使用标记整理
2016-09-30 17:32:10 458
原创 Scala 学习<一>
import scala.collection.mutableimport scala.collection.immutableobject Test { def main(args: Array[String]): Unit = { // 创建字符串数组 var arr = new Array[String](3) arr(0) = "jack"
2016-08-10 16:37:42 384
原创 Linux 同步 异步 阻塞 非阻塞
一般的IO函数如read,write,recv等是同步阻塞。select,poll,epoll是同步非阻塞(IO等待非阻塞,阻塞在select,poll,epoll)。AIO函数为异步阻塞
2016-08-02 09:59:41 447
原创 C++ Bitset
Constructors#include #include #include using namespace std;int main(int argc, char *argv[]){ // 默认构造函数,所有位初始化为0 bitset bs1; bitset bs2(0xfa2); bitset bs3(string("0101111001")); cout << s
2016-08-01 15:33:43 656
原创 C++ String
constructors string(); string( size_type length, char ch ); string( const char *str ); string( const char *str, size_type length ); string( string &str, size_type index, size_type length ); str
2016-08-01 11:27:57 508
原创 基于POSIX下REGEX库的文本URL过滤(C/C++语言)
URL过滤报告URL过滤需求分析:输入为带中文、英文、标点符号、特殊符号等的字符串,输出也是字符串,但有以下要求:1.把输入字符串中的网站URL(以“http://”开头)、文件URL(以“.xxx(若干个x)结尾”)的子串找到,并删除。2.将其他的无关字符串原样保留,去除需要过滤的URL之后,直接拼接。3.输出去掉所有URL,其他保持不变的字符串。 URL过滤技术分析
2016-06-19 17:01:49 2418
原创 生成1-N*N的矩阵,一圈一圈的
#include using namespace std;int N;int data[100][100];bool visit[100][100];void getNext(int status, int& nx, int &ny){ switch (status) { case 0: //right nx = 0, ny = 1; break; case 1:
2016-04-03 20:50:33 1259
编译后的hadoop-2.7.3-src.tar.gz
2016-11-28
呕心沥血的java复杂聊天室(包括自定义应用层协议、CS多线程、多客户端登录、上下线提醒等等)
2014-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人