iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Django利用Cookie实现反爬虫的例子
  • 295
分享到

Django利用Cookie实现反爬虫的例子

2024-04-02 19:04:59 295人浏览 薄情痞子

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

摘要

我们知道,DianGo 接收的 Http 请求信息里带有 Cookie 信息。Cookie的作用是为了识别当前用户的身份,通过以下例子来说明Cookie的作用。例: 浏览器向服务器(

我们知道,DianGo 接收的 Http 请求信息里带有 Cookie 信息。Cookie的作用是为了识别当前用户的身份,通过以下例子来说明Cookie的作用。例:

浏览器向服务器(Diango)发送请求,服务器做出响应之后,二者便会断开连接(会话结束),下次用户再来请求服务器,服务器没有办法识别此用户是谁,比如用户登录功能,如果没有 Cookie 机制支持,那么只能通过查询数据库实现,并且每次刷新页面都要重新操作一次用户登录才可以识别用户,这会给开发人员带来大量的冗余工作,简单的用户登录功能会给服务器带来巨大的负载压力。

Cookie 是从浏览器向服务器传递数据,让服务器能够识别当前用户,而服务器对 Cookie 的别机制是通过 Session 实现的,Session 存储了当前用户的基本信息,如姓名,年龄和性别等,由于Cookie 存储在浏览器里面,而且Cookie 的数据是由服务器提供的,如果服务器将用户信息直接保存在浏览器中,就很容易泄露用户信息,并且Cookie大小不能超过4KB,不能支持中文,因此要一种机制在服务器的某个域中存储用户数据,这个域就是Session。

总而言之,Cookie 和 Session 是为了解决HTTP协议无状态的弊端、为了让浏览器和服务端建立长久联系的会话而出现的。

Cookie除了解决 HTTP 协议无状态的弊端之外,还可以利用 Cookie 实现反爬虫机制。随着大数据人工智能的发展,爬虫技术日益完善,网站为了保护自身数据的安全性和负载能力,都会在网站里设置反爬虫机制。

由于 Cookie 是通过 HTTP 协议从浏览器传递到服务器的,因此从视图函数的请求对象 request 可以获取 Cookie 对象,而Diango提供以下方法来操作Cookie对象:


# 获取 Cookie 与 python 的字典读取方法一致
request。COOKIES['uuid']
request。COOKIES。get('uuid')

# 在响应内容中添加 Cookie, 将 Cookie 返回给浏览器
return HttpResponse('Hello world')
response。set_cookie('key', 'value')
return response

# 在响应内容中删除Cookie
return HttpResponse('Hello world')
response。delete_cookie('key')
return response

操作 Cookie 对象无非就是对 Cookie 进行获取、添加和删除处理。添加Cookie 信息是使用 set_cookie 方法实现的,该方法是由响应类 HttpResponseBase 定义的

  • key:设ECookie的key,类似字典的key。
  • value:设 Cookie的value,类似字典的value。
  • max age:设置Cookie的有效时间,以秒为单位。
  • expires:设置Cookie的有效时间,以日期格式为单位。
  • path:设置Cookie的生效路径,默认值为根目录(网站首页)
  • domain:设置Cookie生效的域名。
  • secure:设置传输方式,若为False,则使用HTTP,否则使用https
  • httponly:设置是否只能使用HTTP协议传输。
  • samesite:设置强制模式,可选值为 lax 或 strict,主要防止CSRF攻击。

常见的反爬虫主要是设置参数max_age,expires 和 path。参数 max_age或 expires 用于设置 Cookie 的有效性,使爬程序无法长时间爬取网站数据;参数 path 用于将 Cookie 的生成过程隐藏起来,不容易让爬虫开发者找到并破解。

希望各位读者对Cookie实现反爬虫有一定认识。

到此这篇关于Django利用Cookie实现反爬虫的文章就介绍到这了,更多相关Django反爬虫内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Django利用Cookie实现反爬虫的例子

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Django利用Cookie实现反爬虫的例子
    我们知道,Diango 接收的 HTTP 请求信息里带有 Cookie 信息。Cookie的作用是为了识别当前用户的身份,通过以下例子来说明Cookie的作用。例: 浏览器向服务器(...
    99+
    2024-04-02
  • 怎么用定值Cookie实现反爬
    这篇文章主要讲解了“怎么用定值Cookie实现反爬”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用定值Cookie实现反爬”吧!Cookie 生成由于本案例需要用到一个特定的 Cooki...
    99+
    2023-07-05
  • 如何用定值Cookie实现反爬详解
    目录【摘要】Cookie 生成Python Flask 框架生成 CookieFlask make_response 加载模板Flask 判断指定 cookie 是否存在补充知识点【...
    99+
    2023-05-14
    定值Cookie实现反爬 Cookie 反爬
  • 利用JAVA实现一个多线程爬虫
    利用JAVA实现一个多线程爬虫?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JAVA 多线程爬虫实例详解前言以前喜欢Python的爬虫是出于他的简洁,但到了后期...
    99+
    2023-05-31
    java 多线程 爬虫
  • 使用python爬虫实现子域名探测问题
    目录前言一、爬虫1.ip1382.bing二、通过字典进行子域名爆破三、python爬虫操作步骤1.写出请求头headers与目标网站url2.生成请求3.抓取数据4.分析源码,截取...
    99+
    2024-04-02
  • Nodejs实现定时爬虫的完整实例
    目录事件起因使用 Node Schedule 实现定时任务一、安装 node-schedule二、基本用法三、高级用法四、终止任务总结事件起因 前两天要帮朋友B站舰长群审核,一个个...
    99+
    2024-04-02
  • 使用nodejs实现网页爬虫功能的案例
    这篇文章主要介绍了使用nodejs实现网页爬虫功能的案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。网页源码使用http.get()方法获取网页源码,以hao123网站的头...
    99+
    2023-06-06
  • SpringBoot实现多个子域共享cookie的示例
    目录项目信息cookie 共享环境配置后端代码验证项目信息 使用SpringBoot web框架,版本号 2.7.10 <dependency> <gro...
    99+
    2023-05-15
    SpringBoot 子域共享cookie SpringBoot 子域共享
  • 利用Python爬虫爬取金融期货数据的案例分析
    目录任务简介解决步骤代码实现总结大家好 我是政胤今天教大家爬取金融期货数据 任务简介 首先,客户原需求是获取https://hq.smm.cn/copper网站上的价格数据(注:获取...
    99+
    2024-04-02
  • 利用Python爬虫实现抢购某宝秒杀商品
    目录1、导入对应类库实现对浏览器的操作2、用代码实现购物流程2.1 访问某宝2.2登录某宝2.3 进入购物车2.4 选中所有商品2.5 对比时间,提交结算(重点)前言: 某宝秒杀,用...
    99+
    2024-04-02
  • 利用java怎么实现一个网页爬虫功能
    利用java怎么实现一个网页爬虫功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。爬虫实现原理网络爬虫基本技术处理网络爬虫是数据采集的一种方法,实际项目开发中,通过爬虫做数...
    99+
    2023-05-31
    java ava
  • 使用C++编写一个DHT爬虫,实现从DHT网络爬取BT种子
    以下是一个简单的使用C++编写的DHT爬虫,以从DHT网络中爬取BT种子:```cpp#include #include #incl...
    99+
    2023-10-12
    C++
  • Java爬虫实现Jsoup利用dom方法遍历Document对象
    先给出网页地址: https://wall.alphacoders.com/featured.phplang=Chinese 主要步骤: 利用Jsoup的connect方法获取Do...
    99+
    2024-04-02
  • 如何利用C++实现一个简单的网页爬虫程序?
    如何利用C++实现一个简单的网页爬虫程序?简介:互联网是一个信息的宝库,而通过网页爬虫程序可以轻松地从互联网上获取大量有用的数据。本文将介绍如何使用C++编写一个简单的网页爬虫程序,以及一些常用的技巧和注意事项。一、准备工作安装C++编译器...
    99+
    2023-11-04
    C++ 网页爬虫 程序实现
  • Golang爬虫及正则表达式的实现示例
    目录字符 数量限定 其他 爬虫 补充:正则表达式加golang爬虫爬取经典案例豆瓣top250最近学习go,爬取网站数据用到正则表达式,做个总结; Go中正则表达式采用RE2语法(具...
    99+
    2024-04-02
  • Java 使用maven实现Jsoup简单爬虫案例详解
    一、Jsoup的简介         jsoup 是一款Java 的HTML解析器,可直接解析某个UR...
    99+
    2024-04-02
  • 详解C#如何利用爬虫技术实现快捷租房
    目录场景需求开发环境开发工具实现代码实现效果场景 做为一个码农,大部分都集中在一二线城市,所以租房也就无可避免,面对如今五花八门的租房信息,往往很难找到合适的房子。而如今的这些租房软...
    99+
    2024-04-02
  • SpringBoot+WebMagic+MyBaties实现爬虫和数据入库的示例
    目录创建数据库: 新建SpringBoot项目: 1、配置依赖pom.xml 2、创建CmsContentPO.java 3、创建CrawlerMapper.java 4、配置映射文...
    99+
    2024-04-02
  • 使用Python实现简单的爬虫框架
    目录一、请求网页二、解析 HTML三、构建爬虫框架爬虫是一种自动获取网页内容的程序,它可以帮助我们从网络上快速收集大量信息。在本文中,我们将学习如何使用 Python 编写一个简单的...
    99+
    2023-05-19
    Python如何实现爬虫框架 Python爬虫框架 Python爬虫
  • Java爬虫怎么实现Jsoup利用dom方法遍历Document对象
    这篇文章主要讲解了“Java爬虫怎么实现Jsoup利用dom方法遍历Document对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java爬虫怎么实现Jsoup利用dom方法遍历Docu...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作