返回顶部
首页 > 资讯 > 后端开发 > Python >Python反爬虫的知识点有哪些
  • 295
分享到

Python反爬虫的知识点有哪些

2023-06-17 04:06:42 295人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python反爬虫的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python反爬虫的知识点有哪些文章都会有所收获,下面我们一起来看看吧。一、为什么要反爬虫?在设计反爬虫系统之前,

这篇文章主要介绍了python爬虫的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python反爬虫的知识点有哪些文章都会有所收获,下面我们一起来看看吧。

一、为什么要反爬虫?

在设计反爬虫系统之前,我们先来看看爬虫会给网站带来什么问题?

本质上来说,互联网上可以供人们浏览、查看和使用的网站及其网站上的数据,都是公开和允许获取的,所以并不存在于所谓的“非法授权访问”问题。

爬虫程序访问网页和人访问网页没有本质区别,都是由客户端向网站服务器发起Http请求,网站服务器接收到请求之后将内容响应返回给客户端。

只要是发起请求,网站服务器必然要进行响应,要进行响应,必然要消耗服务器的资源。

网站的访问者与网站之间是互相互惠互利的关系,网站为访问者提供了自己所需要的必要的信息和服务,而访问者也为网站带来了流量、访客、活跃度。所以网站的所有者会愿意消耗服务器的带宽、磁盘、内存,为访问者提供服务。

而爬虫程序呢?无异于白嫖党。成倍地消耗网站服务器资源、占用服务器带宽,却不会为网站带来一丝的利益,甚至于,最后的结果是有损于网站本身的。

爬虫,可能算得上是互联网里的非洲鬣狗了,也难怪遭网站的所有者讨厌了。

二、识别爬虫

既然讨厌爬虫,所以要将爬虫拒之于网站的门外了。要拒绝爬虫的访问,首先当然要识别出网络访问者中的爬虫程序。如何识别呢?

1. HTTP请求头

这算是最基础的网络爬虫识别了,正常的网络访问者都是通过浏览器对网站进行访问的。而浏览器都会带上自己的请求头以表明自己的基础信息。而这也是最容易被爬虫程序突破的识别手段,因为HTTP请求头谁都可以进行修改和伪造。

2. Cookie值

Cookie通常用来标识网站访问者的身份,就像是手上的一张临时凭证。并凭着这个凭着与网站服务器进行身份的校对。很遗憾,Cookie是保存在客户端的数据,也可以被修改和伪造。

3. 访问频率

如果一个访问者,每隔1秒请求一次网站的某个页面,或者一秒钟请求了几百次这个页面。这个访问者不是爬虫程序就有鬼了。试问人类中有谁能快速和频繁地点击鼠标访问一个页面?他是得了帕金森综合征还是八爪鱼转世?

通过访问频率来识别爬虫程序是可行的,但是爬虫程序也能通过使用大量的代理IP来实现一个IP地址只访问了一次的效果,也可以通过随机的请求时间间隔规避。

4. 鼠标行为轨迹

正常人类访问者浏览网页势必不会像机器一样,机械地移动和点击鼠标。而鼠标的移动和点击,是可以通过js脚本捕获到的,所以可以通过判断访问者的鼠标行为轨迹来判断访问者是否为爬虫程序。

5. token值

现在很多网站都是前后端分离开发的,数据通过后端接口返回给前端,前端拿到数据再结合页面进行渲染。所以很多爬虫程序都直接找数据接口,而不是傻傻地请求页面了。token就用在验证这些后端数据接口上。token一般通过网页上的某个密钥加上时间再加上某些数据组合加密而成。

还有更多地识别爬虫的手段在此就不一一进行介绍。很遗憾的是,上述任何一种识别爬虫的手段,都有可能被爬虫绕过和突破。

三、拒绝爬虫

就像没有一劳永逸的网站安全防护一样,十年前把3389端口一关,就能防止服务器成为肉鸡,如今各种防火墙、各种安全措施都加上了,还有可能因为某个0Day漏洞被勒索。

爬虫与反爬虫之间,也永远都在斗争和升级。所不同的是,网络攻防是放开手脚的无限制级格斗,而反爬虫则是带着拳套和头盔的奥运拳击。

网站为了运营,势必要对外开放内容,而开放的内容就像是飘忽在非洲大草原的腐肉和血腥味,直勾勾地吸引着鬣狗的到来。

在开放内容和避免沦为爬虫的数据矿池之间平衡,是一个难事。

1. 内容上限制内容的开放

开放的内容是获取用户、流量的基础,所以内容必须是开放的。但是内容的开放并不是无限制的开放。非注册用户可以看到一篇内容、两篇内容,但是不能无限地一直看到内容。这个限制,可以是要求登录,可以是要求扫码验证,可以是接入谷歌验证码之类的点击验证机制。

现在已经有越来越多的网站采用了有限内容开放的机制,比如微博、知乎、淘宝等,你可以看到一页两页的内容,但是如果还想继续,对不起请登录。

2. 行为上记录用户操作

需要访问者进行登录并不能解决问题,因为模拟登录一直是网络爬虫程序的一个热门发展分支,无论是图片验证码、拼图、滑块还是点选汉字,都会被突破。甚至于短信验证码都可以通过编写APP与爬虫程序和网站之间进行通信。

所以记录用户行为必不可少,用户的一切操作和访问行为都需要记录在案,这是分析和处理爬虫的基础。

3. 控制上严厉打击高频行为

从实际上来看,也有很多爬虫程序的运行并非是为了往死里薅网站的数据和内容,仅仅是为了方便进行手工的收集和整理工作,这种类型的爬虫行为一般会比人工浏览的频次要高,但是又显著低于鬣狗般的高频爬虫,对这种类型的爬虫行为可以忽略掉。做人留一线,日后好相见。

但是对于影响网站服务器运行的高频爬虫行为,必须采取措施。结合用户和IP信息,对相关用户或IP进行处理。

4. 协议里申明权利

网站的所有者必须在网站协议或用户协议里申明,允许正常的浏览、访问和数据获取,对于异常、高频、威胁网站服务器稳定的行为,将保留进一步处理的权利。

关于“Python反爬虫的知识点有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python反爬虫的知识点有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python反爬虫的知识点有哪些

本文链接: https://lsjlt.com/news/287192.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python反爬虫的知识点有哪些
    这篇文章主要介绍了Python反爬虫的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python反爬虫的知识点有哪些文章都会有所收获,下面我们一起来看看吧。一、为什么要反爬虫在设计反爬虫系统之前,我...
    99+
    2023-06-17
  • Python爬虫突破反爬虫机制知识点有哪些
    这篇文章主要介绍“Python爬虫突破反爬虫机制知识点有哪些”,在日常操作中,相信很多人在Python爬虫突破反爬虫机制知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python爬虫突破反爬虫机制...
    99+
    2023-06-25
  • Python爬虫知识点分别都有哪些
    这篇文章给大家介绍Python爬虫知识点分别都有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。做数据分析和任何一门技术一样,都应该带着目标去学习,目标就像一座灯塔,指引你前进,很多...
    99+
    2024-04-02
  • Python爬虫突破反爬虫机制知识点总结
    1、构建合理的HTTP请求标头。 HTTP的请求头是一组属性和配置信息,当您发送一个请求到网络服务器时。因为浏览器和Python爬虫发送的请求头不同,反爬行器很可能会被检测到。 2、...
    99+
    2024-04-02
  • python爬虫基础知识有哪些
    这篇文章主要介绍“python爬虫基础知识有哪些”,在日常操作中,相信很多人在python爬虫基础知识有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python爬虫基础知识有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-02
  • Python爬虫反反爬的策略有哪些
    本篇内容主要讲解“Python爬虫反反爬的策略有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫反反爬的策略有哪些”吧!爬虫采集成为很多公司企业个人的需求,但正因为如此,反爬虫...
    99+
    2023-06-01
  • Python3网络爬虫入门知识点有哪些
    本篇内容介绍了“Python3网络爬虫入门知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  ...
    99+
    2024-04-02
  • Python爬虫知识点梳理
    做数据分析和任何一门技术一样,都应该带着目标去学习,目标就像一座灯塔,指引你前进,很多人学着学着就学放弃了,很大部分原因是没有明确目标,所以,一定要明确学习目的,在你准备学爬虫前,先问问自己为什么要学习爬虫。有些人是为了一份工作,有些人是为...
    99+
    2023-01-31
    爬虫 知识点 Python
  • Python小知识 - Python爬虫进阶:如何克服反爬虫技术
    Python爬虫进阶:如何克服反爬虫技术 爬虫是一种按照一定的规则,自动抓取网页信息的程序。爬虫也叫网页蜘蛛、蚂蚁、小水滴,是一种基于特定算法的自动化程序,能够按照一定的规则自动的抓取网页中的信...
    99+
    2023-09-08
    Python YYDS
  • java网络爬虫的基础知识有哪些
    这篇文章主要介绍“java网络爬虫的基础知识有哪些”,在日常操作中,相信很多人在java网络爬虫的基础知识有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java网络爬虫的基础知识有哪些”的疑惑有所帮助!...
    99+
    2023-06-16
  • 爬虫中常见的反爬虫策略有哪些
    小编给大家分享一下爬虫中常见的反爬虫策略有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.IP封锁站点运行人员在分析日志时,有时会发现在同一时间段内有一个或...
    99+
    2023-06-20
  • Python Pandas的知识点有哪些
    本篇内容介绍了“Python Pandas的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为什么要学习Pandas那么问题来了:...
    99+
    2023-06-30
  • 学习Python爬虫前必掌握知识点
    目录常见的协议常见的请求方式常见的请求头参数:常见的相应状态码HTTP的请求相应过程使用浏览器进行网站分析 session 与cookie常见的协议 http和https ...
    99+
    2024-04-02
  • 常见的反爬虫机制有哪些
    这篇文章主要讲解了“常见的反爬虫机制有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常见的反爬虫机制有哪些”吧!对爬虫用户而言,网站的反爬行机制可以说是其头号敌人。反爬机制是一种防止爬虫...
    99+
    2023-06-20
  • Python爬虫基础之爬虫的分类知识总结
    目录一、通用爬虫二、搜索引擎的局限性三、Robots协议四、请求与相应一、通用爬虫 通用网络爬虫是搜索引擎抓取系统(Baidu、Google、Sogou等)的一个重要组成部分。主要目...
    99+
    2024-04-02
  • Python编码的知识点有哪些
    这篇文章主要介绍“Python编码的知识点有哪些”,在日常操作中,相信很多人在Python编码的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python编码的知识点有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-16
  • Python中的pandas知识点有哪些
    本篇内容主要讲解“Python中的pandas知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的pandas知识点有哪些”吧!前言pandas 是基于 Numpy 的一种...
    99+
    2023-06-27
  • Python中的PEP知识点有哪些
    本篇内容介绍了“Python中的PEP知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PEP是什么?PEP的全称是Python E...
    99+
    2023-06-02
  • Python的基础知识点有哪些
    本篇内容介绍了“Python的基础知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python简介python是一种面向对象的解释...
    99+
    2023-06-02
  • Python的Cookie知识点有哪些呢
    这期内容当中小编将会给大家带来有关Python的Cookie知识点有哪些呢,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。相信很多同学肯定听过Cookie这个东西,也大概了解其作用,但是其原理以及如何设置,...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作