01--小白学Python爬虫之爬虫概念、分类、原理及连载规划

前言

小到出门扯淡,大到国家政策,无一例外,比较常见的三个字”大数据”,处处表示着已经进入大数据时代,那在大数据时代,最重要的是什么呢?毫无疑问,数据!而数据又是怎么来的呢?下面简单列一下:

  • 企业生产的用户数据
    • 比如像BAT等公司,拥有庞大的用户群体,用户的任何行为都会成为他们数据源的一部分
  • 数据平台购买数据
    • 比如从国家数据中心 数据市场等购买
  • 政府 机构公开数据
    • 比如统计局 银行公开数据等
  • 数据管理公司
    • 比如艾瑞咨询等
  • 爬虫获取网络数据
    • 通过网络爬虫技术,爬去网络数据,以供使用

概念

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。(以上概念来自百度百科)

简而言之 就是通过程序去网络上抓取自己想要的数据信息。

爬虫分类

通用网络爬虫
概念

搜索引擎用的爬虫系统

目标

尽可能把互联网上网页下载下来,放到自有服务器形成备份,再对这些网页做提取关键字等处理,对外提供用户检索接口

抓取流程
  1. 选择目标URL,放入待爬取队列
  2. 从队列中取出URL,解析DNS得到主机IP,接着去IP对应的服务器中下载HTML,保存到本地服务器,将此URL放入已爬取队列
  3. 分析网页内容,根据需求查找网页内其他URL,继续执行第二步,直至爬取条件结束

一句话:取网页–>存储数据–>内容处理–>提供检索

缺点
  1. 只能提供和文本相关内容,不能提供多媒体和二进制文件等
  2. 提供的结果不具有特殊性,不能针对不同背景领域的人提供不同的搜索结果
  3. 不能理解为人类语义上的检索
爬行策略
  1. 深度优先
    • 按照深度由低到高的顺序,依次访问下一级网页链接,直到不能再深入为止
  2. 广度优先
    • 按照网页内容目录层次深浅来爬行页面,处于较浅目录层次的页面首先被爬行
聚焦网络爬虫
概念

又称主题网络爬虫,选择性的爬取与预先定义好的主题相关方面的爬虫。

优势
  • 只爬取与主题相关的页面,极大的节省了硬件和网络资源
  • 保存页面少,更新快
  • 更好的满足特定人群对特定领域信息需求
其它

同通用网络爬虫

爬虫应用示例

  • 抓取社交网站妹纸信息
  • 抓取网络视频数据
  • 抓取网络小说 段子等信息
  • 只要能通过浏览器访问,都可以get到

连载规划

如何抓取HTML页面
  • HTTP请求处理
  • urllib requests等模拟浏览器发送请求
解析服务器响应内容
  • re xpath bs4 jsonpath pyquery等使用
  • 对需要提取数据定义匹配规则,来匹配筛选出目标内容
采集动态HTML,验证码处理
  • 通用的动态页面采集:Selenium+PhantomJS(无界面),模拟真实浏览器加载js ajax等非静态页面数据
  • Tesseract:机器学习库,机器图像识别系统,可以处理简单的验证码,复杂的可以通过手动输入或专门的打码平台
Scrapy框架(Scrapy Pyspider)
  • 高定制性 高性能,异步网络框架twisted,下载数据速度快
  • 提供数据存储 下载 提取规则等组件
分布式策略(scrapy-redis)
  • scrapy-redis,在scrapy基础上添加了一套以Redis数据库为核心的组件
  • 让Scrapy框架支持分布式功能,在Redis中做请求指纹去重 请求分配 数据临时存储等

结语

学习和记录的过程是漫长而枯燥的,从现在起,打满鸡血,时刻督促提醒自己,希望能够坚持到底。最后一句话,与君共勉–>路漫漫其修远兮,吾将上下而求索~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值