Python爬虫基础之爬虫的分类知识总结


Posted in Python onMay 13, 2021

一、通用爬虫

通用网络爬虫是搜索引擎抓取系统(Baidu、Google、Sogou等)的一个重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。为搜索引擎提供搜索支持。

Python爬虫基础之爬虫的分类知识总结

第一步

搜索引擎去成千上万个网站抓取数据。

第二步

搜索引擎通过爬虫爬取到的网页,将数据存入原始页面数据库(也就是文档库)。其中的页面数据与用户浏览器得到的HTML是完全—样的。

第三步

搜索引擎将爬虫抓取回来的页面,进行各种步骤的预处理:中文分词,消除噪音,索引处理。。。
搜索引擎在对信息进行组织和处理后,为用户提供关键字检索服务,将用户检索相关的信息展示给用户。展示的时候会进行排名。

二、搜索引擎的局限性

  • 搜索引擎抓取的是整个网页,不是具体详细的信息。
  • 搜索引擎无法提供针对具体某个客户需求的搜索结果。

聚焦爬虫

针对通用爬虫的这些情况,聚焦爬虫技术得以广泛使用。聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于:聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页数据。

三、Robots协议

robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。——百度百科

Robots协议也叫爬虫协议、机器人协议等,全称是“网络爬虫排除标准”(Robots ExclusionProtocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,例如:

淘宝: https://www.taobao.com/robots.txt
百度: https://www.baidu.com/robots.txt

四、请求与相应

网络通信由两部分组成:客户端请求消息服务器响应消息

Python爬虫基础之爬虫的分类知识总结

浏览器发送HTTP请求的过程:

Python爬虫基础之爬虫的分类知识总结

1.当我们在浏览器输入URL https://www.baidu.com的时候,浏览器发送一个Request请求去
获取 https://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。

2.浏览器分析Response中的HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。

3.当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

实际上我们通过学习爬虫技术爬取数据,也是向服务器请求数据,获取服务器响应数据的过程。

到此这篇关于Python爬虫基础之爬虫的分类知识总结的文章就介绍到这了,更多相关Python爬虫的分类内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
深入理解 Python 中的多线程 新手必看
Nov 20 Python
5个很好的Python面试题问题答案及分析
Jan 19 Python
django输出html内容的实例
May 27 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
python 魔法函数实例及解析
Sep 25 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
python 字典套字典或列表的示例
Dec 16 Python
Python实现井字棋小游戏
Mar 09 Python
解决keras加入lambda层时shape的问题
Jun 11 Python
学python爬虫能做什么
Jul 29 Python
编写python代码实现简单抽奖器
Oct 20 Python
Python自动化实战之接口请求的实现
May 30 Python
pytorch中的numel函数用法说明
May 13 #Python
pytorch损失反向传播后梯度为none的问题
如何使用Python实现一个简易的ORM模型
May 12 #Python
用python删除文件夹中的重复图片(图片去重)
May 12 #Python
Pyhton模块和包相关知识总结
python 下划线的多种应用场景总结
May 12 #Python
超级详细实用的pycharm常用快捷键
You might like
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
2017/05/17 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
[01:13]这,就是刀塔
2014/07/16 DOTA
Python 流程控制实例代码
2009/09/25 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
薇诺娜官方网上商城:专注敏感肌肤
2017/05/25 全球购物
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
linux比较文件内容的命令是什么
2013/03/04 面试题
小学开学寄语
2014/01/19 职场文书
2014端午节活动策划方案
2014/01/27 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
CSS 新特性 contain控制页面的重绘与重排问题
2021/04/30 HTML / CSS
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers
JS实现简单九宫格抽奖
2022/06/28 Javascript