python爬虫—学习笔记-3
python爬虫—学习笔记-3
ps:因为本人近一个月住院,文章为队友所著。
此次学习内容为如何搭建服务器
1.打开pycharm,创建目录server
在设置中的Python解释器中安装Flask
2.在创建的server1中输入本节课所学代码
在网页中输入ip 端口号 子目录
本机访问127.0.0.1:5000/子目录
外部访问172.20.122.39:5000/子目录
例如:
3.在servers目录下新建一个目录名为course
在sever1中输入表格划分代码
Spit是分割符
保存并运行代码
4.在servers目录下新建一个templates的目录并在其中建h1文件
在h1文件中编写代码
在server1中编写代码保证代码运行流畅,实现网页间的闭环串联
5.网站访问于频繁,加入黑名单
输入限制访问代码 如5次后限制访问,在网页中刷新五次
出现此网页证明能够成功
6.移出黑名单,使用户可以继续访问
输入代码
刷新五次
重启服务器,再次刷新
证明代码可行
完整代码
import flask
app = 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 s
blacklist=[]
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] = 1
return 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)