python简单模拟博客园系统

# 用代码模拟博客园系统## 项目分析:# 1.首先程序启动,显示下面内容供用户选择:## 1.请登录# 2.请注册# 3.进入文章页面# 4.进入评论页面# 5.进入日记页面# 6.进入收藏页面# 7.注销账号# 8.退出整个程序# 2.必须实现的功能:## 1.注册功能要求:# a.用户名、密码要记录在文件中。# b.用户名要求:不能有特殊字符并且确保用户名唯一。# c.密码要求:长度要在6~14个字符之间。## 2.登录功能要求:# a.用户输入用户名、密码进行登录验证。# b.登录成功之后,才可以访问3 - 7选项,如果没有登录或者登录不成功时访问3 - 7选项,不允许访问,提示用户进行登录!# c.超过三次登录还未成功,则退出整个程序。## 3.进入文章页面要求:# 提示欢迎xx进入文章页面。(xx是当前登录的用户名)## 4.进入评论页面要求:## ? 提示欢迎xx进入评论页面## 5.进入日记页面要求:# 提示欢迎xx进入日记页面。## 6.进入收藏页面要求:# 提示欢迎xx进入收藏页面。## 7.注销账号要求:# 不是退出整个程序,而是将已经登录的状态变成未登录状态(在次访问3~7选项时需要重新登录)## 8.退出整个程序要求:# 就是结束整个程序import hashlib

login_dic = {    ‘status‘: False}

s1 =" "   #全局变量def wrapper(func):    def inner(*args, **kwargs):        if login_dic[‘status‘] == True:            ret = func(*args, **kwargs)            return ret        else:

            login(*args, **kwargs)            func(*args, **kwargs)

    return inner

def yonghuming():   #用户名验证函数    while True:        username = input("username:")        for i in username:            if not i.isalnum():                print("No")                break        else:            return username

def mima():   # 密码验证函数    while True:        pwd = input("pwd:")        for i in pwd:            if 6 <= len(pwd) <= 14:                print("ok")                return pwd        else:            print("重新输入密码")

def zhuce(*args, **kwargs):    s2 = yonghuming()  #调用用户名验证    s3 =mima()   #调用密码验证    md5 = hashlib.md5()  # 初始加密模板    md5.update(s3.encode(‘utf-8‘))    m = md5.hexdigest()    with open(‘flag‘, ‘a+‘, encoding="utf-8") as f:        f.seek(0)        f.write(f"{s2}:{m}\n")        print("注册成功")

def login(*args, **kwargs):    for i in range(3):        username1 = input("username:")        pwd1 = input("pwd:")        md5 = hashlib.md5()  # 初始化加密模板        md5.update(pwd1.encode(‘utf-8‘))        m1 = md5.hexdigest()        with open(‘flag‘, ‘r‘, encoding=‘utf-8‘) as f1:            for i in f1:                username, pwd = i.strip().split(":")                if username == username1 and m1 == pwd:                    login_dic[‘status‘] = True                    print("登录成功")                    global s1                    s1 =username  #修改全局变量                    return s1            else:                print("用户名密码错误")    else:        print("输错3次咯!!")

@wrapperdef blog_wz(s1):    if login_dic[‘status‘]:        print(f"欢迎{s1}进入文章页面")@wrapperdef blog_pl(s1):    if login_dic[‘status‘]:        print(f"欢迎{s1}进入评论页面")

@wrapperdef blog_rz(s1):    if login_dic[‘status‘]:        print(f"欢迎{s1}进入日志页面")

@wrapperdef blog_sc(s1):    if login_dic[‘status‘]:        print(f"欢迎{s1}进入收藏页面")

@wrapperdef blog_zx(s1):    if login_dic[‘status‘]:        login_dic[‘status‘] = False        print("注销账号")

msg = """1, 注册2,登录3,进入文章页面4,进入评论页面5,进入日志页面6,进入收藏页面7,注销账号8.退出"""dic1 = {    ‘1‘: zhuce,    ‘2‘: login,    ‘3‘: blog_wz,    ‘4‘: blog_pl,    ‘5‘: blog_rz,    ‘6‘: blog_sc,    ‘7‘: blog_zx,    ‘8‘: exit}def run():    while True:        my_str = input(msg)        if my_str in dic1:            if my_str ==‘8‘:                return            dic1[my_str](s1)        else:            print("输入错误序号")

if __name__ == ‘__main__‘:    run()

原文地址:https://www.cnblogs.com/niucunguo/p/12040619.html

时间: 2024-10-11 16:37:39

python简单模拟博客园系统的相关文章

使用python selenium-webdriver模拟博客园登录

初学python,最近在抱着虫师的python+selenium自动化的书看,也尝试写个登录功能的验证2333 code:########################## #使用python selenium-webdriver #模拟博客园的登录流程 #首页--登录页面--跳转回首页--检查--退出登录恢复环境 ########################### from selenium import webdriver import time import sys url_cnbl

模拟博客园系统

1. 启动程序, 显?菜单列表      菜单:      1. 登录      2. 注册      3. ?章      4. ?记      5. 退出 2. ?户输入选项, ?章和?记必须在登录后才可以进?操作.(装饰器) 3. ?户注册, 将?户名和密码写入到register?件中. 同时?成"article_?户名"?件?于 存储?户?章. 同时?成"diary_?户名" 来存储?户的?记内容. 4. ?户登录成功后, ?户名和密码从register?件

百万年薪python之路 -- 第二周 --模拟博客园系统

项目分析: 一.首先程序启动,显示下面内容供用户选择: 1.请登录 2.请注册 3.进入文章页面 4.进入评论页面 5.进入日记页面 6.进入收藏页面 7.注销账号 8.退出整个程序 二.必须实现的功能: 1.注册功能要求: a.用户名.密码要记录在文件中. b.用户名要求:只能含有字母或者数字不能含有特殊字符并且确保用户名唯一. c.密码要求:长度要在6~14个字符之间. 2.登录功能要求: a.用户输入用户名.密码进行登录验证. b.登录成功之后,才可以访问3 - 7选项,如果没有登录或者登

用python自动登录博客园

Python自动化第一天 Python强大的功能解放你的双手,账号多了,登录麻烦,密码一样又感觉不安全,不一样有容易忘记或混淆,咋办呢?这个时候python就上场了,它说:“简单,用自动化写个登录代码,简单粗暴,在封装起来,以后再也不用担心记不住了”下面写了个简单的博客园登录,写的不怎么好哈,有需要的兄弟姐妹可以看看,然后自己改改就能换成你们想登录的账号了,对于封装和导入,下篇再来介绍 from selenium import webdriverimport timea=webdriver.Ch

运用python抓取博客园首页的所有数据,而且定时持续抓取新公布的内容存入mongodb中

原文地址:运用python抓取博客园首页的所有数据,而且定时持续抓取新公布的内容存入mongodb中 依赖包: 1.jieba 2.pymongo 3.HTMLParser # -*- coding: utf-8 -*- """ @author: jiangfuqiang """ from HTMLParser import HTMLParser import re import time from datetime import date im

运用python抓取博客园首页的全部数据,并且定时持续抓取新发布的内容存入mongodb中

原文地址:运用python抓取博客园首页的全部数据,并且定时持续抓取新发布的内容存入mongodb中 依赖包: 1.jieba 2.pymongo 3.HTMLParser # -*- coding: utf-8 -*- """ @author: jiangfuqiang """ from HTMLParser import HTMLParser import re import time from datetime import date im

python模拟博客园登录-基础版

mport timeimport inspectfrom functools import wrapsuser_status = {'username': None,'status': False} dic1 = { 1: '登录', 2: '注册', 3: '文章', 4: '日记', 5: '评论', 6: '收藏', 7: '注销', 8: '退出程序'} dic2 = { 3: 'artecle', 4: 'diary', 5: 'comment', 6: 'collection', 7

Python - 爬取博客园某一目录下的随笔 - 保存为docx

1 #coding:utf-8 2 import requests 3 from bs4 import BeautifulSoup 4 import MySQLdb 5 6 7 def get_html(url): 8 ''' 9 获取页面HTML源码,并返回 10 ''' 11 html = requests.get(url) 12 content = html.text.encode('utf-8') 13 return content 14 15 def get_blog_html_lis

爬虫实战【1】使用python爬取博客园的某一篇文章

第一次实战,我们以博客园为例. Cnblog是典型的静态网页,通过查看博文的源代码,可以看出很少js代码,连css代码也比较简单,很适合爬虫初学者来练习. 博客园的栗子,我们的目标是获取某个博主的所有博文,今天先将第一步. 第一步:已知某一篇文章的url,如何获取正文? 举个栗子,我们参考'农民伯伯'的博客文章吧,哈哈.他是我关注的一个博主. http://www.cnblogs.com/over140/p/4440137.html 这是他的一篇名为"[读书笔记]长尾理论"的文章. 我