小记--------采集基础

 
 
1.采集简易流程:
    非结构化数据-数据采集-数据清洗-结构化数据-采集存储
 
非结构化数据: 不方便用数据库二维逻辑表现的数据,包含种类:音频、视频、文本、日志、WEB数据(html、xml)
 
结构化数据:   一般指存储在数据库中,具有一定逻辑结构和物理结构的数据。如 ORSACLE 、 DB2 、SQLSERVER、 MYSQL
 
数据清洗:     过滤不符合要求的数据。分为三种: 残缺数据、错误数据、重复数据(网址不同,内容相同(转载)、网址相同,内容相同)
 
2.URL地址用于描述一个网络上的资源;
基本格式:
schema://host[:port#]/path][#anchor]
schema         指定低层使用的协议 如:http、https、ftp
host           HTTP服务器的IP地址或域名
port#          HTTP服务器的默认端口是80,可以省略。若是其他必须指明
path           访问资源的路径
query-string   发送给http服务器的数据
anchor-        锚
举个栗子:
其中
schema   是   http
host           www.mywebsite.com
path          sj/test/test.aspx
query-String  是?后面的内容 name=sviergn&x=true
anchor        stuff
 
http        超文本传输协议
https       安全超文本传输协议
ftp         文件传输协议
 
3.爬虫规则robots协议
概述:告诉你搜索引擎你哪些页面可以抓取哪些页面不可以抓取
Robots协议不是一个国际标准,但事实上已经成为业内普通遵守的规范
Robots协议内容以文本文件Robots.txt的方式放置在网站的根目录下。
Robots协议只是一个申明并不是技术手段,只防君子不防小人!
 
Robots协议文件的写法:
      User-agent:*               *是一个通配符,表示所有的搜索引擎种类。
      Disallow:/admin/           禁止爬寻admin目录下面的目录
      Disallow:/admin/*.htm      禁止爬寻admin目录下的所有.htm后缀文件
      User-agent: Baiduspider    禁止百度的爬虫访问所有目录
 
4.元搜索种类
     百度、360 搜狗 网易有道 Google 雅虎  
 
5.网页DOM结构
  可以理解为网页的API
基本结构:
<html>                        开始 最大的父节点
  <head>                      头部  标题
    <title>DOM 教程</title>   标题的内容   
  </head>                     头部结束
  <body>                      身体 主体
    <h1>DOM 第一课</h1>        h1-h6 字体大小,1最大,6最小
    <a href="http://www.w3school.com.cn">这个是链接的名字</a>     链接格式
     <img src="1.jpg" width="200" height="50" />           图片  src跟的是图片名字(在桌面存放着)  width图片宽度 height 图片高度
    <p>Hello world!</p>       p 换行
  </body>                     身体结束
</html>                       全部结束
 
http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET(查).POST(改) PUT(增) DELETE(删)
 
POST和GET区别
  GET提交的数据会显示在URL上,POST方法是把提交的数据放在HTTP包的Body中
  GET提交的数据大小有限制。   POST提交没有数据限制
  GET方式提交数据,会存在安全问题,因为用户名和密码会出现在URL上。
 
6.获取网页源代码
  打开网页 -任意地方右击鼠标-查看源代码 。 or F12(左上角有个箭头,点一下之后选择内容,系统会自动跳到你选择内容的源代码处)
  查看网页编码格式:在head下面的meta charset=“UTF-8”
7.信息分类及元素分析
信息分类:
境内:新闻:搜狐、腾讯、新浪、凤凰、网易
      微博:搜狐微博、腾讯微博、新浪微博
      论坛:天涯、猫扑社区、西祠胡同、新浪论坛、知乎、贴吧
      博客:新浪博客、网易博客、搜狐博客、腾讯博客
      微信
境外:Facebook、Twitter
      论坛
      博客
      新闻:美国中文网、华尔街日报、美国华人网、中国城、BC中文网
元素分析
    新闻-采集元素:标题、来源、发布日期、点击数、网址、内容
    论坛:    标题、来源、发布日期、点击数、回复数、网址、内容
    微博:    博主关注数、粉丝数、所发微博数、来源、发布日期、转发数、评论数、网址、内容
 
8.分析网页:
    F12打开网页源代码后---选择network--选择XHR上面一行显示网页加载的进度,下方左边一栏显示网页名字???
右边一栏在Headers栏内显示内容有
Request Method: GET                       //请求方式:网络         
Status Code: 200 OK                        //代码状态:200(正常打开)404(网页丢失)500(代码错                                                              误)
Cookie:                                         // 已加密方式存放网页账号密码,存放在文本文件内
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36                       //用户代理   Windows机器,谷歌浏览器   做爬虫一定会用到。。。。
 
9.数据采集器分类(爬虫分类)
 1)批量型数据采集器
     批量型数据采集有比较明确的抓取范围和目标,当爬虫达到这个设定的目标后,即停止抓取一定时间。具体目标各异,如抓取一定数量,抓取一定时间(领导给定一段时间或者给定采集网站多少页 等等是一个具体的工作量目标)。
2)增量型数据采集器    
    与批量型数据采集不同,会保持持续不断的抓取,对于抓取到的网页,要定时更新。(就是当我们在企业中真正的采集数据时,是24小时不间断的采集,通过网页的更新频率去进行采集,把网页上最新的内容采集回来。所以说增量型数据采集是我们最最常用的采集器)    
3)垂直型数据采集
    垂直型数据采集关注特定主体内容或者属于特定行业的网页;例如:对于健康网站来说,只需要从互联网页里找到与健康相关的页面内容即可,其他行业的内容不再考虑范围。
    垂直型数据采集一个最大的特点和难点就是:如何识别网页内容是否属于指定行业或者主题。往往需要爬虫在抓取阶段就能够动态识别某个网址是否与主题相关,不相关不抓取以达到节省资源。
 
10.采集基础原理-抓取策略
 
1)深度优先遍历策略
指爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪。(就是一条链接走到走不动为止,再返回到起始页,然后在走下一个链接走到走不到为止。。。)
 
优点:能遍历一个Web站点或深层嵌套的文档集合
 
缺点:因为Web结构太深,可能一旦进去,再也出不来的情况。
 
2)宽度优先遍历策略
指网络爬虫会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此页面中链接的所有网页(就是先爬完这个页面的所有链接之后,在进入某一个链接以后采完所有的链接。。。。之后返回上一页面选择第二个链接采,再返回选择第三个、直到本页面的所有链接都采完之后,在选择一个链接采他里面的内容)
 
优点:它能在两个HTML文件之间找到最短路径。
       宽度优先搜索策略通常是实现爬虫的最佳策略,因为它容易实现,而且具备大多数期望的功能。一般采用以宽度优先搜索策略为主、现行搜索策略为辅的搜索策略。
 
3)反向链接数策略
指一个网页被其他网页链接指向的数量。表示的是一个网页的内容收到其他人的推荐的程度。(就是这个链接被其他网页直接指向,从而决定不同网页的抓取先后顺序)
 
4)非完全PageRank策略
    借鉴了PageRank算法的思想:按照一定的网页分析算法,预测出候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或多个URL进行抓取,即对于已经下载的网页,联通待抓取URL队列中的URL,形成网页集合,计算每个页面的PageRank值,计算之后,将待抓取URL队列中的URL按照PageRank值的大小排列,并按照该顺序抓取页面。因为它只访问算法觉得有用的网页,有可能很多相关网页被忽略。
    因为最佳优先策略是一种局部最优搜索算法。因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点。这样的闭环调整可以将无关网页数量降低30%·90%
 
5)大战优先策略
对于待抓取URL队列中的所有网页,根据所属的网站进行分类。对于待下载页面数多的网站,优先下载(就是对于大的网站进行优先下载。)
 
11)采集基础-采集工作方式
一、主从式分布数
URL服务器:维护待抓取URL队列,并分配给不同的抓取服务器(需要对抓取服务器的工作进行负载均衡)
 
抓取服务器:负责抓取网页
(每个抓取服务器只和URL服务器进行信息传递)
 
优点:使得各个服务器承担的工作量大致相等不至于出现忙的过忙、闲的过闲的情形,抓取服务器之间没有通信联系,每个抓取服务器只和URL服务器进行消息传递。
 
URL服务器需要极高配置,而抓取服务器的配置需要则是:1G内存,不需要显示器,较高的网卡带宽,CPU低   即可,UPS供电(不间断电源) 
 
二、对等式分布式采集
服务器之间不存在分工差异,每台服务器承担相同的功能,各自负担一部分URL的抓取工作,因为没有URL服务器存在,所以分配任务就需要通过(模余值)平均分配任务量。
缺点:有可能某个抓取服务器抓取的数量特别少,有的会特别多。
优点:因为分配只正对主域名,所以可以保证同一网站的网页都由同一台服务器抓取,这样一方面可以提高下载效率,还可以主动控制对某个网站的访问速度,避免对某个网站访问压力过大。

转载于:https://www.cnblogs.com/yzqyxq/p/11574675.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值