收藏 分享(赏)

大连理工大学爬虫.ppt

上传人:精品资料 文档编号:11267674 上传时间:2020-03-07 格式:PPT 页数:27 大小:2MB
下载 相关 举报
大连理工大学爬虫.ppt_第1页
第1页 / 共27页
大连理工大学爬虫.ppt_第2页
第2页 / 共27页
大连理工大学爬虫.ppt_第3页
第3页 / 共27页
大连理工大学爬虫.ppt_第4页
第4页 / 共27页
大连理工大学爬虫.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、网络爬虫,刘文飞 2014-10-29,网络爬虫又称网络蜘蛛,网络机器人。 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。爬虫一般从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。,网络爬虫的定义,非定向爬虫 爬取互联网上任何基于Http协议的内容 工具:Larbin、Ncrawler,Heritrix、Nutch 定向爬虫 根据网站自身的属性采用特定的爬取策略 工具包:HttpClient(Java和C#均已携带封装好的类库),爬虫分类,HTTP:Hype

2、r Text Transfer Protocol(超文本传输协议) 万维网协会和Internet工作小组,1999年6月发布了RFC 2616,定义了今天普遍使用的HTTP/1.1 HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议,属于应用层协议,由请求和响应构成,是一个标准的客户端服务器模型,HTTP协议,HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上(这就是所说的HTTPS) 默认HTTP端口为80,HTTPS端口为443,HTTP在TCP/IP协议栈中的位置,HTTP协议永远都是客户端发起请求,服务器回送响应(无法推送) HTTP协议是一个无状

3、态的协议,同一个客户端的这次请求和上次请求没有对应关系(Cookie & Session),HTTP的请求响应模型,(1)首先客户端与服务器需要建立连接(只要单击某个超链接,HTTP的工作就开始了) (2)建立连接后,客户机向服务器发送请求 (3)服务器接收到请求后,给予相应的相应信息 (4)客户端接受服务器所返回的信息通过浏览器显示在用户显示屏上, 然后客户端与服务器断开连接,HTTP协议工作流程,HTPP请求由三个部分组成:请求行、消息报头、请求正文,HTTP协议之请求,请求行:Method Request-URI HTTP-Version CRLF例:GET /index.jsp HTT

4、P/1.1 (CRLF)GET 请求获取Request-URI所标识的资源 POST 在Request-URI所标识的资源后附加新的数据 HEAD 请求获取由Request-URI所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用Request-URI作为其标识 DELETE 请求服务器删除Request-URI所标识的资源 TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断 CONNECT 保留将来使用 OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求,HTTP协议之请求 请求行,Accept:浏览器可接受的MIME类型。 Accept-Chars

5、et:浏览器可接受的字符集。 Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip Accept-Language:浏览器所希望的语言种类 Authorization:授权信息 Connection:表示是否需要持久连接 Content-Length:表示请求消息正文的长度。 Cookie:这是最重要的请求头信息之一 Host:初始URL中的主机和端口 Referer:跳转前URL User-Agent:浏览器类型及系统信息,HTTP协议之请求 消息报头,HTPP响应由三个部分组成:状态行、消息报头、响应正文,HTTP协议之响应,状态行: HTTP-Version S

6、tatus-Code Reason-Phrase CRLF例: HTTP/1.1 200 OK (CRLF)状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 1xx:指示信息-表示请求已接收,继续处理 2xx:成功-表示请求已被成功接收、理解、接受 3xx:重定向-要完成请求必须进行更进一步的操作 4xx:客户端错误-请求有语法错误或请求无法实现 5xx:服务器端错误-服务器未能实现合法的请求,HTTP协议之响应 状态行,常见状态代码、状态描述、说明: 200 OK /客户端请求成功 400 Bad Request /客户端请求有语法错误,不能被服务器所理解 401 Un

7、authorized /请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden /服务器收到请求,但是拒绝提供服务 404 Not Found /请求资源不存在,eg:输入了错误的URL 500 Internal Server Error /服务器发生不可预期的错误 503 Server Unavailable /服务器当前不能处理客户端的请求,一段时间后可能恢复正常,HTTP协议之响应 状态行,Location:用于重定向接受者到一个新的位置 Server:服务器用来处理请求的软件信息,HTTP协议之响应 消息报头,Session机制是一种

8、服务器端保存用户状态的机制,服务器使用一种类似于散列表的结构来保存信息。(比如未登录状态下购物车的实现) 客户端维护Session ID的方式 Cookie URL重写 表单隐藏字段,HTTP相关知识点 - Session,Cookies是客户端保存状态的一种方案 会话性质的cookie,存放在浏览器内存 持久化的cookie,存放在硬盘上 Cookies可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作(如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等),HTTP相关知识点 -

9、 Cookies,HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。 HTTP压缩传输能更加有效节约带宽流量。 HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或CSS文件。 网页压缩情况查询:http:/ 压缩,JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互 JSON 是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,可以用 JSON 传输一个简单的 String,Number,Boole

10、an,也可以传输一个数组,或者一个复杂的 Object 对象。,HTTP相关知识点 - JSON,爬虫抓取策略 网页地址过滤 网页更新去重 网页解析 多线程并发爬取,爬虫流程,深度优先搜索策略 广度优先搜索策略 最佳优先搜索策略 可能根据主题相似度、反向链接数、PR值等策略,爬虫抓取策略,正则表达式 可以过滤非正规的网址、无需下载的文件(后缀名)或特定域名下的网页 建立IP规则库 如若建立校内搜索引擎,则在爬取时将所有非校内IP过滤掉,网页地址过滤,历史参考策略 据页面以往的历史更新数据,预测该页面未来何时会发生变化。 用户体验策略 根据用户点击信息优先爬取质量较高/关注度高的页面 聚类抽样策

11、略 无需保存历史信息,解决冷启动问题(无历史信息的网页),网页更新策略,MD5值比较法 缺点:精确匹配才算重复 网页指纹法,网页去重策略,主要内容抽取 TIKA,可抽取HTML, PDF, MS-*, Image(元数据), XML等 Lucene提供工具包抽取HTML(较粗糙,容易出错) cx-extractor,基于行块分布函数的通用网页正文抽取算法(哈工大)http:/ 特定内容抽取 Java:HTMLParser C#:Winista.HtmlParser,网页解析,多线程中主要问题 网络带宽 服务器对爬虫请求频率的限制 异常处理(多次爬取、日志记录),多线程并发爬取,robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络蜘蛛,此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被获取的。,爬虫相关知识点 robots.txt,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报