爬虫基础知识整理

什么是爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端(主要指浏览器)发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
网络爬虫就是根据网页的地址来寻找网页的,也就是URL。举一个简单的例子,我们在浏览器的地址栏中输入的字符串就是URL,例如:https://www.baidu.com/

URL就是同意资源定位符(Uniform Resource Locator),它的一般格式如下(带方括号[]的为可选项):

protocol :// hostname[:port] / path / [;parameters][?query]#fragment

URL的格式由三部分组成:

(1)protocol:第一部分就是协议,例如百度使用的就是https协议;

(2)hostname[:port]:第二部分就是主机名(还有端口号为可选参数),一般网站默认的端口号为80,例如百度的主机名就是www.baidu.com,这个就是服务器的地址;

(3)path:第三部分就是主机资源的具体地址,如目录和文件名等。

网络爬虫就是根据这个URL来获取网页信息的。

爬虫的分类

1 根据被爬取网站的数量不同,可以分为:

  • 通用爬虫,如 搜索引擎
  • 聚焦爬虫,如12306抢票,或专门抓取某一个(某一类)网站数据

2 根据是否以获取数据为目的,可以分为:

  • 功能性爬虫,给你喜欢的明星投票、点赞
  • 数据增量爬虫,比如招聘信息

3 根据url地址和对应的页面内容是否改变,数据增量爬虫可以分为:

  • 基于url地址变化、内容也随之变化的数据增量爬虫
  • url地址不变、内容变化的数据增量爬虫

3.爬虫的流程

爬虫的基本流程如下:

在这里插入图片描述

  1. 获取一个url
  2. 向url发送请求,并获取响应(需要http协议)
  3. 如果从响应中提取url,则继续发送请求获取响应
  4. 如果从响应中提取数据,则将数据进行保存

robots协议

Robots协议: 网站通过Robots协议告诉搜索引擎哪些页面可以抓取, 那些页面不能抓取,但它仅仅是互联网中的一种约定.

http和https的概念

HTTPS比HTTP更安全,但是性能更低

  • HTTP:超文本传输协议,默认端口号是80

超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等文件
传输协议:是指使用共用约定的固定格式来传递转换成字符串的超文本内容

  • HTTPS:HTTP + SSL(安全套接字层),即带有安全套接字层的超本文传输协,默认端口号:443

SSL对传输的内容(超文本,也就是请求体或响应体)进行加密

  • 可以打开浏览器访问一个url,右键检查,点击net work,点选一个url,查看http协议的形式

在这里插入图片描述

http请求的形式如上图所示

HTTP常见请求头

1. Host (主机和端口号)
2. Connection (链接类型)
3. Upgrade-Insecure-Requests (升级为HTTPS请求)
4. User-Agent (浏览器名称)
5. Accept (传输文件类型)
6. Referer (页面跳转处)
7. Accept-Encoding(文件编解码格式)
8. Cookie (Cookie)
9. x-requested-with :XMLHttpRequest (是Ajax 异步请求)

Requests库

Requests库的7个主要方法
requests.requests(): 构造一个请求,支持以下基本方法,以下方法均对应于HTTP的相关方法
requests.get(): 获取HTML网页的主要方法
requests.head(): 获取HTML网页头信息的主要方法
requests.post(): 向HTML提交POST请求的方法
requests.put(): 向HTML网页提交PUT请求的方法
requests.patch(): 向HTML网页提交局部修改请求
requests.delete(): 向HTML页面提交删除请求

Robots协议

Robots Exclusion Standard:网络爬虫排除标准
作用:网站告知爬虫哪些页面可以抓取,哪些页面不行。
形式:在网站根目录下的robots.txt文件。
点击查看京东的robots协议
https://www.jd.com/robots.txt

User-agent: *            #对任何的网络爬虫都应该遵守如下协议
Disallow: /?*            #任何爬虫都不允许访问以?开头的路径
Disallow: /pop/*.html         #任何爬虫都不允许访问pop/*.html
Disallow: /pinpai/*.html?*       #任何爬虫都不允许访问/pinpai/*.html?*
User-agent: EtaoSpider         # EtaoSpider 、HuihuiSpider 、GwdangSpider 、WochachaSpider 这四个网络爬虫不允许爬取京东的任何网页
Disallow: /              # /代表根目录
User-agent: HuihuiSpider 
Disallow: / 
User-agent: GwdangSpider 
Disallow: / 
User-agent: WochachaSpider 
Disallow: /

robots协议的基本语法:

User-agent: *       
Disallow: /
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值