【网络爬虫与信息提取】Robots协议

news/2024/12/27 23:13:18/

一、网络爬虫引发的问题

网络爬虫根据尺寸可以分为三类:小规模、中规模和大规模。
其中小规模的爬虫一般是用于爬取网页,数据量不大而且对速度不敏感,一般使用requests库就足够了,占据了所有网络爬虫的90%以上。中规模的爬虫一般是用于爬取网站或者系列网站,数据规模较大且对速度敏感,需要使用scrapy库。而大规模的网络爬虫一般是搜索引擎,对速度要求严格,一般都是定制开发,全网范围内爬取。

不难发现网络爬虫对于服务器实际上是一种骚扰,在短时间内的大量访问,会对服务器产生大量的资源开销,同时由于网络爬虫可以获取网站中的资源,所以有时候对服务器数据也是一种威胁。

因此一般的网站都对网络爬虫做出了一定的限制,限制的方式主要有两种:来源审查和发布公告。
来源审查主要是判断http协议的头部的user-agent部分,通过对这个字段进行限制,只相应浏览器或者友好爬虫的访问。
发布公告则使用的就是这一节关键的Robts协议,通过告知所有爬虫该网站的爬取策略,让所有遵守规则的爬虫进行爬取。

二、Robots协议概述

Robots协议全称是Robots Exclusion Standard,即网络爬虫排除标准,主要是告知爬虫哪些资源可以爬取而哪些资源不可爬取,主要的方式是在服务器的根目录下放置一个robots.txt文件,在这个文件中利用标准的语法来告知想要爬的爬虫自己允许的范围。

一定要注意这个robots.txt文件一定要放在根目录下,如果根目录下没有则视为不支持Robots协议。

在实际使用时,协议的遵守主要是自动或者人工识别txt文件,识别文件内容之后再根据要求进行爬取。需要注意的是Robots协议是建议但并非约束性,可以不遵守但是存在法律风险。对于不同规模的网络爬虫要求也不一样:
在这里插入图片描述

三、爬取文件实例

这里按照网课里面的内容爬了壁纸网站的一张壁纸,先上代码:

import requests
import os
url = 'https://images3.alphacoders.com/569/569355.png'
root = 'C://Users//Binary//Desktop//'
path = root+url.split('/')[-1]
try:if not os.path.exists(root):os.mkdir(root)if not os.path.exists(path):r = requests.get(url)with open(path,'wb') as f:f.write(r.content)f.close()
except:print("error")

需要引入的库有两个:requests和os,前者用于网页的请求而后者用于对本地文件的写入。
首先要找好一张图片的url地址,并准备好本地的图片保存地址,第五行代码指的是将文件的名字直接作为本地的文件名保存在本地,之后为了防止出现异常,使用try-except,如果本地路径不存在就先创建一个这样的路径,之后如果对应路径下没有重名文件,就开始进行爬取,获取的response对象利用os库中的文件操作保存在本地,之后关闭即可。最后在对应路径下可以查看到保存下来的图片。


http://www.ppmy.cn/news/808939.html

相关文章

年度最强浏览器插件来袭,打造个人完美生产力

🌟 前言 大家好,我是Edison😎 我是一个重度浏览器扩展用户,所以一直想给大家详细介绍一下浏览器的扩展,用不明白扩展也就用不明白浏览器。 上网冲浪这么多年我想每个人的电脑浏览器都多多少少装着几个插件。 严格来…

Manjaro安装、配置、调试超详细攻略

manjaro是一款非常流行的linux个人桌面版操作系统,它是一款基于arch linux二次开发的系统,manjaro官网上面有3款官方发布的桌面版本,分别是xfce、kde、gnome。xfce风格简约、kde风格华丽、gnome风格实用,风格各有不同,…

2010年11月51CTO壁纸点评活动获奖名单【已结束】

【 点评11月壁纸 送下载豆】 规则:2010年11月1日—11月31日,下载11月壁纸后对壁纸进行评价,我们将抽选若干优质评论,优质评论发布者将奖励20-50颗下载豆。 优质评论衡定标准:表达壁纸使用的真实感受、针对壁纸给出建议…

这些插件太强了,Chrome 必装!尤其程序员!

Firebug 的年代,我是火狐(Mozilla Firefox)浏览器的死忠;但后来不知道为什么,该插件停止了开发,导致我不得不寻求一个新的网页开发工具。那段时间,不少人开始推荐 Chrome 浏览器,我想…

cad2010背景怎么调成黑色_iOS14桌面怎么布局好看-热点资讯-

iOS14正式版大家更新了吗?全新的小组件功能还是很受小伙伴们喜欢的,不过很多小伙伴在纠结怎么去布局这个桌面会更美观好看一些,大家有什么技巧吗?今天小编就和大家分享一下好看的桌面布局。 iOS14桌面怎么布局好看 下面小编分享几…

# 标题Windows最强神器,WIN+R的最骚使用方法!

​ 作为有近十年网龄的合格网虫,今天写一篇个人心得,主要是WINR的应用,当然也有一些桌面管理方面的东西。如果有帮到你的话,还望不吝手中的赞。 ​ 事情的起因呢,就是一点小问题,作为一个有多年网龄的人&a…

不准再说linux丑,Ubuntu20.04+kde美化,动态桌面,软件安装

ubuntu20.04美化教程,附加动态壁纸教程 安装ubuntu kde ubuntu官网下载好最新发行版ubuntu20.04,制作启动盘以最小安装,安装系统,然后替换/etc/apt/source.list中为国内源,执行 sudo apt update sudo apt upgrade如果…

图片去水印教程及工具介绍

有时候我们想换头像/微信背景墙了 是不是第一时间想到的是去某书逛逛,有时候看到有些博主分享的壁纸或者表情包等,忍不住的想保存下来,很多人应该还不知道如何下载吧,今天分享我的三个操作方法: 详细图文步骤及附件下…