一、爬虫介绍

一、网络爬虫
爬虫又叫网络爬虫,网络蜘蛛,一种运行在互联网上用来获取数据的的自动程序。
  • 互联网的数据,有很多,一般都是根据业务需求来的。
    • 网页(文字、图片、视频)
    • 商品数据
  • 怎么获取数据?    
    • HTTP协议
    • 人的操是通过浏览器的,程序是利用网络请求的相关协议获取数据。
  • 自动化,尽可能减少人工的干预。
    • 爬虫开发的技术,没有限制的。
python做网络爬虫是非常流行的。
Java 编写爬虫框架。
二、数据的分类
1、内部数据
业务数据 ,公司使用BI Business Intelligence )、CRM 系统、ERP 系统、邮件系统等产生的数据;
财务数据 ,其中包括公司的支出、采购、收入等多项与公司日常运作有关的数据;
用户数据 ,无论是网站、APP 还是游戏,用户注册都会填写邮箱、电话、身份证号码等数据,这些数据其实非常有价值,此外还要加上用户使用公司产品留下的行为数据。
历史数据 ,公司沉淀下来的其他各种数据。
2、外部数据
社交网站数据 ,包括微信、微博、人人网、Twitter Facebook LinkedIn 等社交媒体上的数据。
说明:社交数据部分是可以爬取的,另外一部分是需要运营方授权的。
线下采集数据 ,包括Wifi 热点数据、地图数据等。
说明:这一块目前做的公司比较少,但同时也比较有价值。
政府开放数据,包括企业征信数据、企业注册数据、法院公示数据、公共交通数据等。
说明:如果你想要找的话,可到对应政府网站下载。
智能设备数据 ,包括智能设备、传感器数据。
说明:你知道吗?一部智能手机,至少拥有8 个传感设备。
网络爬虫数据 ,包括互联网上所有可以爬回的数据,文字、视频、图片其实也是数据,而且是非结构化数据。
企业交易数据 ,包括商家流水数据、支付宝交易数据、信用卡消费数据等等。
说明:目前这一部分数据是最难获取的,因为数据就是宝贵的资产。
企业开放数据 ,比如微博开放了商业数据API ,腾讯开放了腾讯云分析SDK 上报的应用数据,高德地图开放了LBS 数据等等。
说明:如果想找更多的数据API ,我推荐你去数据堂、聚合数据这两家网站上看一下,上面有大量的API 接口。
其它数据 ,比如天气数据、交通数据、人口流动数据、位置数据等等。
在互联网公司,不管内部数据还是外部数据,其实都是为了获取用户相关的数据。
拿到用户的行为数据之后,会分析用户。
比如说电商类网站就是为推荐商品,搜索类的网站为了精准营销( 家具类) 广告联盟。
三、大数据与网络爬虫
大数据就是整合完公司内部外部数据,进行大数据存储,然后通过清洗,标注、去重、去噪、关联等过程可以将数据进行结构化,也可以进行大数据挖掘和数据分析,再以数据可视化呈现结果,打通数据孤岛形成数据闭环,将数据转换成“石油”和“生产资料”,最后应用到我们日常的生活、学习和工作中去。
四、爬虫与搜索系统
搜索系统可以简单的分为两类, 通用搜索,站内搜索
 
通用搜索:像百度,谷歌会爬取互联网上所有的数据
站内搜索:只需要业务系统的数据。
垂直搜索:行业数据和自己的数据。
总结:搜索一定会包含爬虫(除站内搜索外),爬虫爬取的数据不一定是为搜索服务。除了搜索功能以外,爬虫爬取的数据主要用来做数据分析。
五、爬虫的分类
网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:
  • 通用网络爬虫(General Purpose Web Crawler
  • 聚焦网络爬虫(Focused Web Crawler
  • 增量式网络爬虫(Incremental Web Crawler
  • 深层网络爬虫(Deep Web Crawler
实际的网络爬虫系统通常是几种爬虫技术相结合实现的。
六、爬虫开发实现原理
本质:HTTP请求
使用Http Get协议获取数据,使用postt提交数据
客户端向服务器发送一个请求,请求头包含请求的方法、URL 、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME 的消息结构。
  服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
通常HTTP 消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个指示头域结束的空行和可选的消息体组成。
六、实现过程
  1. 指定一个种子url放入到队列中
  2. 从队列中获取某个URL
  3. 使用HTTP协议发起网络请求
  4. 在发起网络请求的过程中,需要将域名转化成IP地址,也就是域名解析
  5. 得到服务器的响应,此时是二进制的输入流
  6. 将二进制的输入流转换成HTML文档,并解析内容(我们要抓取的内容,比如标题)。
  7. 将解除出来的内容保持到数据库
  8. 记录当前URL,并标记为已爬取,避免下次重复爬取。
  9. 从当前的HTML文档中,解析出页面中包含的其它URL,以供下次爬取
  10. 判断解析出来的URL是否已经爬取过了,如果已经爬取就丢弃掉
  11. 将还没爬取过的URL,存放到等待爬取的URL队列中。
  12. 重复以上的步骤,指导等待爬取的URL队列中没有数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值