爬虫理论

什么是爬虫:

爬虫就是一段自动抓取互联网的程序和脚本

网页的三大特性:

1、任何网页都有自己的唯一的URL地址(统一资源定位符)
2、网页都是通过HTML(超文本)来展示数据的
3、网页都是通过HTTP/HTTPS(超文本传输协议)来传输HTML的

爬虫的基本使用步骤:

1、寻找目标的URL(统一资源定位器),然后发起请求
2、获取响应结果,之后分析结果
3、从响应结果中提取我们所需要的数据
(1)、从网页中提取目标数据
(2)、如果还有新的url地址,则提取,继续发起请求
4、所有的目标url都请求完毕后,爬虫结束

数据用途:

1、爬取数据后自己写个网站
2、日常数据分析

爬虫的分类:(通用爬虫、聚焦爬虫)

通用爬虫:

是搜索引擎的重要组成部分

作用:

通过分词,去噪等进行颈处理,处理后进行数据的持久化,然后提取搜索

目的:

尽可能完全的将互联网上所有的网页下载到本地

聚焦爬虫:

是面向主题,面向需求的爬虫,只获取需求相关的数据

搜索引擎的缺点:

1、只能够获取简单的文件数据,大型的二进制数据(音频,视频)
2、搜索引擎搜索的结果都千篇一律,无法根据需求获取特定的数据
3、99%的结果都是属于无用的垃圾数据

OSI的七层协议的目的:

实现不同的系统互联之间的数据通讯,实现数据的传输

七层协议:

应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
应用层:http/htttps

  • http(端口号为 80):从网络传输超文本数据到本地浏览器的传输协议
  • https(端口号为 443):是HTTP的升级安全版,在HTTP的基础上添加了一个SSL层,用于安全传输

传输层:TCP/UDP

  • TCP:网络传输协议,面向连接的,长连接,传输的是数据流,确保数据的安全性和完整性,但传输的效率非常的低
  • UDP:网络传输协议,是非面向连接的,短链接,传输的是数据包,传输数据是不安全的,可能会造成数据的缺失,传输的速度非常快

URL的介绍

URL的组成:

  • scheme:指的是协议(http/https)
  • host:指的是服务器的IP后域名
  • port:值得是端口号
  • path:指的是资源路径
  • query_string:URL地址后面的查询参数
  • anchor(锚mao点) :定位,可以跳到制定的位置

URN:统一资源名称
URI:统一资源标志符
URL:统一资源定位符

URI是URN和URL的父类

常见的5种请求方式

GET:只适用于服务器获取请求,在URL连接后面可能会跟一些查询参数
POST:向服务器端提交数据,数据会放在请求体中,一般用于添加或修改数据
DELETE:一般用来删除数据
PUT:更新整个资源(用来数据更新)
PATCH:局部的数据更新

GETPOST的请求区别

  • 使用场景:GET是从服务器端提取数据,而POST是请求向服务器提交数据的
  • 安全性:GET请求参数只能拼接在URL地址上,POST请求会在请求体中
  • GET请求的URL是由长度限制的,而POST的请求可以添加很多字段

常见的请求头参数

User-Agent:这是设置浏览器(设置这个参数模拟浏览器请求对方服务器)
Cookie:保存在客户端中,保存的是用户信息
Referer:告诉客户端服务器当前的请求书从哪个界面跳转过来的
Accept:可以接受的数据类型

CookieSession:目的都是保持会话

  • HTTP:请求是无状态的,每次请求断开后,在请求都是一个新的请求,请求状态会使用到Cookie和Session
  • Cookie:保存在客户端,记录信息确认用户身份
  • Session:保存在服务端,记录信息确认用户身份

常见的请求状态码:

2XX:请求成功
3XX:重定向

  • 301:永久重定向
  • 302:临时重定向
    4XX:客户端请求错误
  • 400:请求错误,服务器无法解析
  • 401:未授权,没有身份验证
  • 403:服务器拒绝访问
  • 404:访问页面不存在,资源路径错误
  • 405:请求方式不允许
  • 408:请求超时
    5XX:服务器错误
  • 501:服务器内部错误
  • 502:服务器暂时不具备完成请求的功能
  • 503:服务器不可用

关于urllib中request,error,parse模块的使用

request:是基本的HTTP请求模块,可以用来模拟发送请求,就像在浏览器中输入完网址,后敲回车一样,使用时只需要给库方法传入相关的URL和相关的参数就可以了
error:异常处理模块,如果请求错误,可以使用这个模块来捕获异常,然后重试后其他操作,保证陈旭不会意外终止
parse:是一个工具模块,提供了很多的URL的处理方法,如拆分,解析,合并等

正则的使用及说明:

应为我们down下来的数据全是网页,数据太大而且还很混乱,大多数都是无用的数据,所以我们需要过滤和匹配出我们所需要的数据

  • 正则表达式:别名正规表达式,正规表达法,规则表达式,常规表达法,正规表达式使用单个字符来描述、匹配一系列某个句法规则的字符串

目的:
1.给定的字符串判断是否符合正则表达式的逻辑过滤
2.可以通过正则表达式,从字符串中捕捉或获取我们所需要的特定部分

正则表达式语法支持情况

DeepinScrot-1057

正则表达式匹配的规则如下:

8f0aa323-3824-4b95-b4e0-4ab337c7ab85

将正则表达式编译使用符号

修饰符号 描述
re.I 使用匹配对大小写不敏感(不区分大小写)
re.S 使.匹配包括换行符在内的所有字符
re.M 多行匹配
re.L 做本地化识别

常用方法主要有:

  • match 方法:从起始位置开始查找,一次匹配
  • search 方法:从任何位置开始查找,一次匹配
  • findall 方法:全部匹配,返回列表
  • finditer 方法:全部匹配,返回迭代器
  • split 方法:分割字符串,返回列表
  • sub 方法:替换
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容

  • HTTP基本原理 URI、URL、URN(Uninform Resource) URI(Identifier):统...
    GHope阅读 2,076评论 2 26
  • 前言:最近发现自己在网络相关这一块基础很是欠缺,所以准备花时间了解一下,本文主要是讲http协议的一些基础,和一些...
    justCode_阅读 2,094评论 0 23
  • 1. 爬虫概述     爬虫,又称为网络爬虫,主要指代从互联网上进行数据采集的脚本后端程序,是进行数据分析和数据挖...
    大千世界1998阅读 1,066评论 0 0
  • 过去的几个月,己经习惯了触目都是一片灰败萧肃,习惯了将视线锁在手机屏幕的方寸之间,遥想屏幕那边的人和千里之外的南国...
    我是银璃阅读 199评论 0 0
  • 我们从大到小见过很多人,听过很多故事 城市的夜晚,小镇的黄昏,学校的清晨 起起伏伏的歌韵里藏着许多动人的传奇 每当...
    陈恩君阅读 558评论 0 1