网络爬虫(web crawler)又称网络蜘蛛(web spider)或web信息收集器,是一种按照指定规则,自动抓取或下载网络资源的计算机程序。
Queue(队列)集合使用链表结构存储数据,它只允许在表的前端进行删除操作,在表的后端进行插入操作。
java正则表达式:
d d 代表0-9中的任意一个数字
D D 代表任意一个非数字字符
S S 代表非空类字符
s s 代表空格类字符
p{Lower} p{Lower} 代表小写字母
p{Upper} p{Upper} 代表大写字母
p{Punct} p{Punct} 代表标点符号
p{Blank} p{Blank} 代表空格和制表符t
[abc] 代表a或b或c
[^abc] 除去abc的任何字符
[a-z] 代表a到z
[a-zA-Z]代表a到Z
[1-9] 代表1到9
[a-d1-3]代表a到d和1到3
X{n} X确定出现n次
X{n,} X至少出现n次
X{n,m} X出现n到m次
X? X出现0次或1次
X* X出现0次或多次
X+ X出现1次或多次
HttpClient:引入网页请求的工具
Jsoup:网页解析工具
HTTP(Hyper Text Transfer Protocol)
URL统一资源定位符号是URI(统一资源标识符)的一个子集。
报文:按一定格式组织起来的数据,分为请求报文和响应报文。
HTTP请求的方法:
get:
post:
head:和get类似,只会从服务器获取资源的头信息,不能获取响应内容。
put:从客户端发送指定的数据到服务器中代替指定的内容。
delete:从服务器中删除指定的内容。
connect:在客户端使用代理的情况下,使用此方法和服务器建立连接。
options:询问服务器支持的方法。
trace:对可能经过代理发送到服务器的报文进行跟踪。
http头的分类:
通用头,请求头,响应头,实体头
通过头:
cache-control:请求和响应遵循的缓存机制
connection:指定连接的有关选项,例如是否需要持久连接
date:创建http报文的时间
pragma:包含用来实现特定的指令,通常用 pragma:no-cache
trailer:
transfer-encoding:传输的报文实体采用的编码方式
upgrade:检查http协议,允许服务器指定一种新的协议。
via:跟踪请求,响应报文的传输路径
warning:告知用户和缓存相关的警告。
请求头:
accept:指定客户端可以处理的数据类型
accept-charset:指定客户端可以接受的字符集
accept-encoding:指定浏览器可以进行解码的数据编码格式
accept-language:浏览器可以接收的语言种类
cookie:
host:指定服务器的ip和端口,不包括协议
origin:指定服务器的名称,包括域名和协议
referer:告知服务器请求的原始资源的URL,包括协议,域名,端口信息等
upgrade-insecure-requests:向服务器发送一个信号,表示客户端对加密和认证的响应偏好
user-agent:发起请求的应用程序的名称
响应头:
accept-ranges:表明服务器对资源请求的可接受范围,定义了范围的单位
age:服务器产生响应经过的时间,单位为秒,为非负整数,主要用于缓存。
set-cookie:
server:表明服务器的版本
vary:告知代理是从缓存中响应还是从服务器中重新获取。
实体头:
allow:列车资源所支持的http方法集合
content-encoding:告知客户端对实体数据的编码方式
content-language:告知客户端对实体数据使用的语言
content-length:实体数据的长度
content-location:实体数据资源的位置
content-range:当前传输的内容在整个资源中的字节范围
content-type:实体数据类型
expires:实体数据的有效期
last-modified:实体数据上次修改的日期及时间。
爬虫经常遇到的响应类型是html,xml,json



