python爬虫—学习笔记-3

news/发布时间2024/8/25 19:35:25

python爬虫—学习笔记-3

ps:因为本人近一个月住院,文章为队友所著。

此次学习内容为如何搭建服务器

1.打开pycharm,创建目录server

image-20240410173751205

在设置中的Python解释器中安装Flask

image-20240410173803854

image-20240410173815298

image-20240410173819180

2.在创建的server1中输入本节课所学代码

image-20240410173827037

在网页中输入ip 端口号 子目录

本机访问127.0.0.1:5000/子目录

外部访问172.20.122.39:5000/子目录

image-20240410173835557

例如:

image-20240410173843460

3.在servers目录下新建一个目录名为course

image-20240410173852230

在sever1中输入表格划分代码

Spit是分割符

image-20240410173902575

保存并运行代码

image-20240410173910091

4.在servers目录下新建一个templates的目录并在其中建h1文件

image-20240410173916805

在h1文件中编写代码

image-20240410173923217

在server1中编写代码保证代码运行流畅,实现网页间的闭环串联

image-20240410174009819

image-20240410173939653

5.网站访问于频繁,加入黑名单

image-20240410173951773

输入限制访问代码 如5次后限制访问,在网页中刷新五次

image-20240410174025502

出现此网页证明能够成功

6.移出黑名单,使用户可以继续访问

输入代码

image-20240410174034005

刷新五次

image-20240410174052790

重启服务器,再次刷新

image-20240410174058398

证明代码可行

完整代码

import flaskapp = flask.Flask(__name__)def maketable(filename):
s = "<table border='1'>"
s = s + "<tr>"
with open(filename,mode='r',encoding='utf-8') as f:
rows = f.readlines()
for row in rows:
cells = row.split(',')
for cell in cells:
s = s + "<td>"
s = s + cell
s = s + "</td>"
s += '</tr>'
s += '</table>'
s += '<a href="/">返回首页</a>'
return sblacklist=[]
temp = {'127.0.0.1':1}def checkip():
userip = flask.request.remote_addr
if userip in blacklist:
return 1
else:
if userip in temp:
temp[userip] += 1
if temp[userip] > 5:
blacklist.append(userip)
if len(blacklist) >5:
blacklist.clear()
temp.pop(userip)else:
temp[userip] = 1return 0@app.route("/")
def index():
return flask.render_template('h1.html')@app.route("/student")
def stuifo():
if checkip() == 0:
return maketable('student.txt')
else:
return "你的访问过于频繁,稍后再试……"@app.route("/course")
def curinfo():
return maketable('course.txt')app.run(host="0.0.0.0",debug=True)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.liansuoyi.cn/news/85042362.html

如若内容造成侵权/违法违规/事实不符,请联系连锁易网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

python 使用waitress替代flask自带的web服务器

首席引入依赖安装waitrss pip intsll waitress然后在flask程序内引入依赖 使用server()函数代替app.run()函数 启动时,直接python xxx.py即可from waitress import serve from flask import Flask app = Flask(__name__)@app.route(/) def hello_world(): return Hello Wo…

sy3

一、任务详情 密码引擎API的主要标准和规范包括: 1 微软的Crypto API 2 RAS公司的PKCS#11标准 3 中国商用密码标准:GMT 0016-2012 智能密码钥匙密码应用接口规范,GMT 0018-2012密码设备应用接口规范等 研究以上API接口,总结他们的异同,并以龙脉GM3000Key为例,写出调用不同…

发布一个自己的composer包

首先我们创建一个空的目录,并且运行以下命令初始化一个空白的composer包 composer init可以在命令窗口看到有返回提示; 需要输入包名 This command will guide you through creating your composer.json config.` Package name (<vendor>/<name>) :我这里写的是c…

读所罗门的密码笔记15_数据透明度

读所罗门的密码笔记15_数据透明度1. 数据透明度与控制权 1.1. 作为人类,我们会带有偏见,而且往往不知道自己在智力和情感上的盲区 1.2. 精心制作的人工智能机器,即使有自己的缺点,也能帮助我们做出更客观的决定,为提升我们的生活质量和改善社区的生态环境做出贡献 1.3. 美…

QAT量化感知训练

QAT量化感知训练 基本原理 相比训练后量化因为其不是全局最优而导致的精度损失,QAT量化感知训练能做到基于loss优化的全局最优,而尽可能的降低量化精度损失,其基本原理是:在fp32模型训练中就提前引入推理时量化导致的权重与激活的误差,用任务loss在训练集上来优化可学习的…

树状数组快速入门

树状数组、 Fenwick Tree 或 Binary Indexed Tree ,通常用缩写 BIT 代表。 是一种 “一种基于二进制 lowbit ,用于维护(加法、位运算、max、gcd 的)前缀和的树形数组” 。 可以叫做 一个树状数组 或 一棵 Fenwick Tree 。 重要性质:同时满足即是数组又是树的性质。针对定义…

蓝桥杯2020年C组-试题I-数字三角形(简化版-少一个左右路径差不大于1条件)

1. 题目介绍上图给出了一个数字三角形。 从三角形的顶部到底部有很多条不同的路径。 对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右边的那个数。 输入格式 输入的第一行包…

e/易语言 按钮界面弹出气泡提示

案例本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18125232

Linux安装JDK详细教程

Linux安装JDK详细教程(图文教程) 这里介绍两种方式:yum安装方式和手动安装1、yum安装 1.1 查看JDK版本,找到你想要安装的JDK版本,这里以 JDK1.8 为例 输入命令:yum -y list java*1.2 安装JDK1.8 输入命令:yum install -y java-1.8.0-openjdk.x86_64 没权限执行这行:sud…

查询下属

win +R 键sqlplus1 用户名:scott密码 :tigerselect * from emp;select * from dept;select ename,sal,comm from emp;select ename,sal+nvl(comm,0) from emp;select ename,12*(sal+nvl(comm,0))年薪 from emp;1 select empno from emp where ename=upper(king);2 select …

PHP代码审计——Day7-Bells

漏洞解析 function getUser($id) {global $config, $db;if (!is_resource($db)) {$db = new MySQLi($config[dbhost],$config[dbuser],$config[dbpass],$config[dbname]);}$sql = "SELECT username FROM users WHERE id = ?";$stmt = $db->prepare($sql); // 调用…

【每周例题】蓝桥杯 C++ 多数

多数元素 题目 多数元素思路分析一 .第一个想法,暴力遍历,然后会发现容易超时,那么更进一步想:哈希表使用哈希表存储每个数出现的次数,即使用哈希映射(HashMap)来存储每个元素以及出现的次数。对于哈希映射中的每个键值对,键表示一个元素,值表示该元素出现的次数 加入…

Python函数

一、函数定义以及作用 函数/方法/function(功能):函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段(块)。函数能提高应用的模块性和代码的重复利用率。比如我们天天使用的函数print(),这个就是函数(一个Python内置的函数)。也可以自己创建函数,这类函数…

linux环境安装——kafka安装复习

需要安装jdk、zk;然后才是kafkakafka版本:kafka_2.13-3.2.3.tgz[root@iZf8zi6zcbssmm6c2nrhapZ /]# ls -alt total 84 drwxrwxrwt. 9 root root 4096 Apr 9 14:42 tmp drwxr-xr-x 7 root root 4096 Apr 9 14:38 soft drwxr-xr-x 7 root root 4096 Apr 9 14:38 …

中间件漏洞攻防学习总结

Apache(阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。 此漏洞的出现是由于 apache 在修复第一个后缀名解析漏洞时,用正则来匹配后缀。在解析 php 时 xxx.php\x0A…

若依RuoYi-Vue代码生成,新建一个增删改查模块

启动ruoyi-ui,登录前端后台 以cti_faq 问答对表 为例。首先在 mysql数据库 中建张 cti_faq 表CREATE TABLE `cti_faq` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 编号,`question` varchar(255) DEFAULT NULL COMMENT 问题内容,`answer` text COMMENT 答案内容,`category…

【攻防实操系列+域渗透】--安装域控(Windows-Server-2008-R2-x64)教程

1.创建windows 2008 R2 虚拟机选完全安装。 第一个是标准版功能很少。不建议选。 另外两个任意选。 我选的是Enterprse企业版。❗❗❗注意:需要提前了解域控的密码复杂度规则。 密码一定要自己记住!!! 密码①可以看到界面非常小,不方便操作。 ❗❗❗需要安装vm tools,详细…

Miktrotron MC2588相机配置

MC2588 大面阵相机MC2588 测试CoaXPress测试 该相机在Hello-FPGA CoaXPress系统中工作状态良好。 WIN10 PCIe Gen3x8 KU040 FPGA Hello-FPGA 2.0 FMC HOST Card

【译】使用最新预览版查看您的拉请求注释

在17.10预览版2中,我们刚刚发布了预览支持,可以直接在 Visual Studio 的工作文件中查看 GitHub 和 Azure DevOps 的拉取请求注释。在17.10预览版2中,我们刚刚发布了预览支持,可以直接在 Visual Studio 的工作文件中查看 GitHub 和 Azure DevOps 的拉取请求注释。作为开发者…
推荐文章