- 浏览: 120955 次
- 性别:
- 来自: 北京
最新评论
-
qq4628241:
按位“异或”运算符 (^) 将第一操作数的每个位与第二操作数的 ...
JAVA 位运算符和位移运算符 -
kehui:
^(异或) 运算规则:1^0=0 0^1=1 1 ...
JAVA 位运算符和位移运算符 -
andyxuq:
楼主能传我一份 jrex的相关jar包么 andyxuq@gm ...
爬虫 js,flash,ajax网页(JREX) -
mikey_java:
感谢楼主的详解,受益匪浅,谢谢
JAVA 位运算符和位移运算符 -
youzhibing:
运行出现了以下错误:
Exception in thread ...
eclipse部署配置nutch1.3
文章列表
原文来自 http://renxiangzyq.iteye.com/blog/739562
1、设置环境变量
set JAVA_OPTS= -Xms32m -Xmx512m
2、java -Xms32m -Xmx800m className
就是在执行JAVA类文件时加上这个参数,其中className是需要执行的确类名。(包括包名)
Eclipse中
如果在测 ...
正则表达式中问号等特殊字符的转义 在.NET Framework 开发人员指南 的 字符转义 一节 有这样一段话。
除 .$ ^ { [ ( | ) * + ? \ 外,其他字符与自身匹配。但是其中并未注明这些字符应该匹配为什么字符。
为了方便自己以后查阅,也为了方便网友搜索我就写在这里了。
[Sipo]
点的转义:. ==> \\u002E
美元符号的转义:$ ==> \\u0024
乘方符号的转义:^ ==> \\u005E
左大括号的转义:{ ==> \\u007B
左方括号的转义:[ ==> \\u005B
左圆括号的转义:( ==> ...
做了一段时间爬虫,发觉http header十分有用
比如一些防爬虫网站在没有header的情况下是不让访问的,但是header 里面的参数意义是什么呢?下面来看一下
以下信息为转载
HTTP 知识点之一:头部解释
============================================================================================================================
1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/ ...
通过两天的设计模式学习,发表一些个人理解的小心得
在设计模式中,比较容易混淆的是工厂模式和原型模式
总体说他们都是用来实例化类,可是既然是不同的设计模式,他们之间也有细微的区别
最近爬虫下载论坛时出现了一些奇怪的问题。
1.下载一半就无法下载
2.下载了很多空页面,提示说页面不存在
问题一:原因分析,由于网站对一个IP在一个时间片内访问太频繁,导致封IP。
解决方案:减缓爬虫下载间隔,多个网站一起下载,而且网站越多越好,可以错开下载。
问题二:初步分析,下载的页面是html的,怎么可能有这个问题?因为下载的论坛是开源的discuz,我们都知道discuz有一个缓存机制,管理员可以删除帖子,可是被删除的帖子还存在服务器缓存中,由此可以证明那些html都是伪静态的页面,而且爬虫下载是通过服务器缓存的。通过日志可以发现: 类似于百度,google这类的大网站,他们的爬虫都 ...
工厂模式应该是大家用的比较多的一种模式了
工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。
工厂模式中有: 工厂方法(Factory Method) 抽象工厂(Abstract Factory).
我们以类Sample为例, 如果我们要创建Sample的实例对象:
Sample sample=new Sample();
可是,实际情况是,通常我们都要在创建sample ...
所谓的原型模式,就是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
1.首先需要了解java的clone技术
我理解的很简单,无非是把一个对象进行复制粘贴。那么,来看一下JAVA语言中是如何来实现的这个步骤的。我们依次需要知道以下这些事。
1.Object对象中有一个clone()方法。而且是protected。
2.继承于Object的类一般都可以实现这个方法(有特殊的,比如StringBuffer等,官方定的,不去研究它)。
3.想被clone的对象需要实现接口Cloneable。如果此对象的类不能实现接口Cloneable,则会抛出CloneNotSupported ...
因为搜索引擎的流行,网络爬虫已经成了很普及网络技术,除了专门做搜索的Google,Yahoo,微软,百度以外,几乎每个大型门户网站都有自己的搜索引擎,大大小小叫得出来名字得就几十种,还有各种不知名的几千几万种,对于 ...
各大网站爬虫
'Googlebot', // Google 爬虫
'Baiduspider', // 百度爬虫
'Yahoo! Slurp', // 雅虎爬虫
'YodaoBot', // 有道爬虫
'msnbot' // Bing爬虫
// 更多爬虫关键字
有一些网站会判断你的user-agent如果是属于爬虫就会返回禁止爬虫这类的页面,或者直接屏蔽~
cookie问题,有一些网站只认某一个页面的cookie其他的都不可以
转
下面的这些方法是可以标本兼治的:
1、
详细出处参考:http://www.jb51.net/yunying/28470.html、限制IP地址单位时间的访问次数
分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。
弊端:一刀切,这同样会阻止搜索引擎对网站的收录
适用网站:不太依靠搜索引擎的网站
采集器会怎么做:减少单位时间的访问次数,减低采集效率
2、屏蔽ip
分析:通过后台计数器,记录来访者ip和访问频率,人为分析来访记录,屏蔽可疑Ip。
弊端:似乎没什么弊端,就是站长忙了点
适用网站:所有网站,且站长能 ...
来源 http://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/
继承通过指向超类的一条闭合的,单箭头的实线表示。
一条带有闭合的单向箭头的点 线意味着实现(或实施
关联,双向和单向
基本聚合
有聚合关系的关联指出,某个类是另外某个类的一部分。在一个聚合关系中,子类实例可以比父类存在更长的时间。为了表现一个聚合关系,你画一条从父类到部分类的实线,并在父类的关联末端画一个未填充棱形。图 12 显示车和轮胎间的聚合关系的例子。
组合聚合
组合聚合关系是聚合关系的另一种形式,但是子类实例的生命周期 ...
本文为博主翻译,转载请注明出处。如有翻译不妥,请指出以便改正,谢谢。
1 Successful DNS lookup
DNS 查找成功
0 Fetch never tried (perhaps protocol unsupported or illegal URI)
从未获取(可能协议未授权或者不合法URI)
-1 DNS lookup failed
DNS 查找失败
-2 HTTP connect failed
HTTP连接失败
-3 HTTP connect broken
HTTP连接中断
-4 HTTP timeout (before any meaningful r ...
Heritrix去重
- 博客分类:
- heritrix
heritrix 判断去重 在 package org.archive.crawler.util;下面的BdbUriUniqFilter 的setadd方法
其实heritrix的抓取过的URL都保存在BDB中
然后通过boolean来判断是否加入到队列
来自:http://www.learnsky.com/index.asp
ASCII是英文American Standard Code for Information Interchange的缩写。ASCII码是目前计算机最通用的编码标准。
因为计算机只能接受数字信息,ASCII码将字符作为数字来表示,以便计算机能够接受和处理。比如大写字母M的ASCII码是77。
ASCII码中,第0~32号及第127号是控制字符,常用的有LF(换行)、CR(回车);第33~126号是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母, ...
Heritrix对中文支持不够,比如URL中有中文的URL肯定抽取不到,但这个改动部分代码页就是它的正则表达式即可
解决方法
修改org.archive.crawler.extractor.ExtractorJS类
把
static final String STRING_URI_DETECTOR = "(?: \\w|[\\.]{0,2}/)[\\S&&[^<>]]*(?:\\.|/)[\\S&&[^<>]]*(?:\\w|/)";
改为
static final String STRING_URI_DET ...