首页 后端开发 Python教程 网络爬虫如何做才算好?

网络爬虫如何做才算好?

Jun 20, 2017 pm 04:23 PM
如何 爬虫 网络

网络爬虫的实质,其实是从网络上“偷”数据。通过网络爬虫,我们可以采集到所需要的资源,但是同样,使用不当也可能会引发一些比较严重的问题。

因此,在使用网络爬虫时,我们需要做到“盗亦有道”。

网络爬虫主要分为以下三类:

1. 小规模,数据量小,爬取速度不敏感;对于这类网络爬虫我们可以使用Requests库来实现,主要用于爬取网页;

2. 中规模,数据规模较大,爬取速度敏感;对于这类网络爬虫我们可以使用Scrapy库来实现,主要用于爬取网站或系列网站;

3. 大规模,搜索引擎,爬取速度关键;此时需要定制开发,主要用于爬取全网,一般是建立全网搜索引擎,如百度、Google搜索等。

在这三种中,我们最为常见的是第一种,大多数均是小规模的爬取网页的爬虫。

对于网络爬虫,也有很多反对声音。因为网络爬虫会不停的向服务器发出请求,影响服务器性能,对服务器产生骚扰行为,并加大了网站维护者的工作量。

除了对服务器的骚扰外,网络爬虫也有可能引发法律风险。因为服务器上的数据有产权归属,如果将该数据用于牟利的话,将会带来法律风险。

此外,网络爬虫也可能会造成用户的隐私泄露。

简而言之,网路爬虫的风险主要归于以下三点:

  • 对服务器的性能骚扰

  • 内容层面的法律风险

  • 个人隐私的泄露

因此,网络爬虫的使用需要有一定的规则。

在实际情况中,一些较大的网站都对网络爬虫进行了相关限制,整个互联网上也将网络爬虫视为可规范的功能来看待。

对于一般的服务器来讲,我们可以通过2种方式来限制网络爬虫:

1. 如果网站的所有者有一定的技术能力,可以通过来源审查来限制网络爬虫。

来源审查,一般通过判断User-Agent来进行限制,本篇文章着重介绍第2种。

2. 通过Robots协议来告诉网络爬虫需要遵守的规则,哪些可以爬取,哪些是不允许的,并要求所有的爬虫遵守该协议。

第2种是以公告的形式告知,Robots协议是建议但非约束性,网络爬虫可以不遵守,但可能会存在法律风险。通过这两种方法,互联网上形成了对网络爬虫的道德和技术上的有效限制。

那么,我们在编写网络爬虫时,就需要去尊重网站的维护人员对网站资源的管理。

互联网上,部分网站没有Robots协议,所有数据都可以爬取;不过,绝大多数的主流网站都支持Robots协议,有做相关限制,下面就具体介绍下Robots协议的基本语法。

Robots协议(Robots Exclusion Standard,网络爬虫排除标准):

作用:网站告知网络爬虫哪些页面可以爬取,哪些不行。

形式:在网站根目录下的robots.txt文件。

Robots协议的基本语法:*代表所有,/代表根目录。

比如,PMCAFF的Robots协议:

User-agent: *

Disallow: /article/edit

Disallow: /discuss/write

Disallow: /discuss/edit

第1行中User-agent:*,是指所有的网络爬虫都需要遵守如下协议;

第2行中Disallow: /article/edit,是指所有的网络爬虫都不允许访问article/edit下的内容,其他同理。

如果观察京东的Robots协议,,可以看到下面有User-agent: EtaoSpider,Disallow: /,其中EtaoSpider是恶意爬虫,不允许其爬取京东的任何资源。

User-agent: *

Disallow: /?*

Disallow: /pop/*.html

Disallow: /pinpai/*.html?*

User-agent: EtaoSpider

Disallow: /

User-agent: HuihuiSpider

Disallow: /

User-agent: GwdangSpider

Disallow: /

User-agent: WochachaSpider

Disallow: /

有了Robots协议后,可以对网站的内容做个规范,告诉所有的网络爬虫哪些可以爬取,哪些不允许。

需要特别注意的是,Robots协议都是存在根目录下的,不同的根目录可能Robots协议是不一样的,在爬取时需要多加留意。

以上是网络爬虫如何做才算好?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

WLAN扩展模块已停止[修复] WLAN扩展模块已停止[修复] Feb 19, 2024 pm 02:18 PM

如果您的Windows计算机上的WLAN扩展模块出现问题,可能会导致您与互联网断开连接。这种情况常常让人感到困扰,但幸运的是,本文提供了一些简单的建议,可以帮助您解决这个问题,让您的无线连接重新正常运行。修复WLAN扩展模块已停止如果您的Windows计算机上的WLAN可扩展性模块已停止工作,请按照以下建议进行修复:运行网络和Internet故障排除程序禁用并重新启用无线网络连接重新启动WLAN自动配置服务修改电源选项修改高级电源设置重新安装网络适配器驱动程序运行一些网络命令现在,让我们来详细看

win11 DNS服务器错误如何解决 win11 DNS服务器错误如何解决 Jan 10, 2024 pm 09:02 PM

我们在连接网络时需要使用正确的dns才可以上网。同理,如果我们使用了错误的dns设置就会提示dns服务器错误了,这时候我们可以尝试在网络设置中选择自动获取dns来解决,下面就一起来看下具体解决方法吧。win11网络dns服务器错误怎么办方法一:重新设置DNS1、首先,点击任务栏中的开始进入,在其中找到并点开“设置”图标按钮。2、然后点击左侧栏中的“网络&Internet”选项命令。3、然后在右侧找到“以太网”选项,点击进入。4、之后,点击DNS服务器分配中的“编辑”,最后将DNS设置为“自动(D

解决Chrome,Google云端硬盘和照片上的'失败网络错误”下载! 解决Chrome,Google云端硬盘和照片上的'失败网络错误”下载! Oct 27, 2023 pm 11:13 PM

什么是“网络错误下载失败”问题?在我们深入研究解决方案之前,让我们首先了解“网络错误下载失败”问题的含义。当下载过程中网络连接中断时,通常会发生此错误。它可能由于各种原因而发生,例如互联网连接薄弱、网络拥塞或服务器问题。发生此错误时,下载将停止,并显示错误消息。如何修复失败的网络错误下载?在访问或下载必要的文件时,遇到“网络错误下载失败”可能会成为障碍。无论您是使用Chrome等浏览器还是Google云端硬盘和Google相册等平台,都会弹出此错误,从而造成不便。下面是帮助您导航和解决此问题的分

修复: WD 我的云未显示在 Windows 11 中的网络上 修复: WD 我的云未显示在 Windows 11 中的网络上 Oct 02, 2023 pm 11:21 PM

如果WDMyCloud未在Windows11的网络上显示,这可能是一个大问题,尤其是当您将备份或其他重要文件存储在其中时。对于经常需要访问网络存储的用户来说,这可能是一个大问题,因此在今天的指南中,我们将向您展示如何永久解决此问题。为什么WDMyCloud未显示在Windows11网络上?您的MyCloud设备、网络适配器或互联网连接未正确配置。电脑上未安装SMB功能。Winsock的临时故障有时会导致此问题。如果我的云未显示在网络上,我该怎么办?在我们开始修复问题之前,您可以执行一些初步检查:

win10不能上网右下角显示地球怎么办 win10网络成地球无法上网的多种解决办法 win10不能上网右下角显示地球怎么办 win10网络成地球无法上网的多种解决办法 Feb 29, 2024 am 09:52 AM

这篇文章将介绍Win10系统网络显示地球标志但无法上网的解决方法。文章将提供详细的操作步骤,帮助读者解决Win10网络显示地球无法上网的问题。方法一:直接重启先检查一下网线是否没插好,宽带是否欠费,路由器或光猫可能会卡死,这时需重启路由器或光猫。假如当前电脑没有重要的事宜在操作,能直接重启电脑,大部分的小问题能通过重启电脑来快速解决。假如确定宽带没有欠费,网络正常,那便是另一回事。方法二:1、按【Win】键,或点击左下角的【开始菜单】,在打开的菜单项中,点击电源按钮上方的齿轮状图标,这个就是【设

检查网络连接:lol无法连接服务器 检查网络连接:lol无法连接服务器 Feb 19, 2024 pm 12:10 PM

LOL无法连接服务器请检查网络近年来,网络游戏已经成为了很多人的日常娱乐活动。其中,英雄联盟(LOL)作为一款非常受欢迎的多人在线游戏,吸引了亿万玩家的参与和爱好。然而,有时候我们在玩LOL的时候会遇到“无法连接服务器请检查网络”的错误提示,这无疑给玩家们带来了一些困扰。接下来,我们将探讨一下该错误的出现原因和解决方法。首先,LOL无法连接服务器的问题可能是

网络连不上wifi怎么回事 网络连不上wifi怎么回事 Apr 03, 2024 pm 12:11 PM

1、检查wifi密码:确保自己输入的wifi密码是正确的,注意区分大小写。2、确认wifi是否正常工作:检查wifi路由器是否正常运行,可将其他设备连接至同一路由器,以确定问题是否出在设备上。3、重启设备和路由器:有时候,设备或路由器出现故障或网络问题,重启设备和路由器可能会解决问题。4、检查设备设置:确保设备无线功能处于开启状态,并且未将wifi功能禁用。

ICLR'24无图新思路!LaneSegNet:基于车道分段感知的地图学习 ICLR'24无图新思路!LaneSegNet:基于车道分段感知的地图学习 Jan 19, 2024 am 11:12 AM

写在前面&笔者的个人理解地图作为自动驾驶系统下游应用的关键信息,通常以车道或中心线表示。然而,现有的地图学习文献主要集中在检测基于几何的车道或感知中心线的拓扑关系。这两种方法都忽略了车道线与中心线的内在关系,即车道线绑定中心线。虽然在一个模型中简单地预测两种类型的车道在学习目标中是互斥的,但本文提出将lanesegment作为一种无缝结合几何和拓扑信息的新表示,因此提出了LaneSegNet。这是第一个生成lanesegment以获得道路结构完整表示的端到端建图网络。LaneSegNet有两个关

See all articles