前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python+django网页设计入门(14):使用中间件对抗爬虫

Python+django网页设计入门(14):使用中间件对抗爬虫

作者头像
Python小屋屋主
发布2018-12-21 11:27:12
9080
发布2018-12-21 11:27:12
举报
文章被收录于专栏:Python小屋

前导课程:

Python+django网页设计入门(13):表单、修改密码

Python+django网页设计入门(12):使用Bootstrap和jQuery

Python+django网页设计入门(11):在线考试与自动评分

Python+django网页设计入门(10):分页显示

Python+django网页设计入门(9):自定义反爬虫功能

Python+django网页设计入门(8):网站项目文件夹布局

Python+django网页设计入门(7):常用ORM操作

Python+django网页设计入门(6):文件上传与数据导入

Python+django网页设计入门(5):自定义用户注册与登录功

Python+django网页设计入门(4):用户登录与登录验证

Python+django网页设计入门(3):使用SQLite数据库

技术要点:

1)使用中间件;

2)设置反爬功能。

相关基础:

在django中,中间件实际上就是一个类,在请求到来和结束后、处理视图时以及响应返回前,django会根据自己的规则在合适的时机执行中间件中相应的方法,在中间件中可以实现并起作用的方法主要有:

  • process_request(self,request)
  • process_view(self, request, callback, callback_args, callback_kwargs)
  • process_template_response(self,request,response)
  • process_exception(self, request, exception)
  • process_response(self, request, response)

在客户端发起的所有请求到达view层得到处理之前,都会先依次经过settings.py文件中设置的每个中间件的process_request()方法,此时实现拦截爬虫的功能。

===========================

1、在网站项目文件夹中创建包middle,在middle中创建文件antiCraw.py。

2、在antiCraw.py程序中编写一个类AntiCraw,实现反爬功能。

3、修改网站项目的setting.py文件,启用自定义的中间件。

4、修改apps\questions\views.py,把前面课程中使用修饰器实现的反爬功能注释掉。

5、执行命令运行网站,观察中间件中的反爬功能是否起作用,并体会中间件和修饰器这两种实现方法的不同。

温馨提示

进入公众号,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的文章列表,通过“最新资源”==>“微课专区”可以观看Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源。

--------董付国老师Python系列图书--------

1)《Python程序设计(第2版)》清华大学出版社(2018年8月第9次印刷)https://item.jd.com/11949168.html

2)《Python可以这样学》清华大学出版社(2018年7月第6次印刷)(本书已在中国台湾发行繁体版)https://item.jd.com/12040511.html

3)《Python程序设计基础(第2版)》清华大学出版社(2018年9月第6次印刷)https://item.jd.com/12319738.html

4)《中学生可以这样学Python》清华大学出版社(2018年9月第3次印刷)https://item.jd.com/12258900.html

5)《Python程序设计开发宝典》清华大学出版社(2018年2月第3次印刷)https://item.jd.com/12143483.html

6)《玩转Python轻松过二级》清华大学出版社(2018年7月第3次印刷)https://item.jd.com/12361144.html

7)《Python程序设计基础与应用》机械工业出版社(2018年9月第1次印刷)https://item.jd.com/12433472.html?dist=jd

8)《Python程序设计实验指导书》清华大学出版社(预计2019年1月出版)

9)《Python编程基础与案例集锦(中学版)》电子工业出版社(预计2019年2月出版)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档