JAVA网络爬虫
HttpClient

导航

 
  • MysqlHelper.py

     from pymysql import *
    
     class MysqlHelper(object):
         """mysql数据库的操作"""
     
         def __init__(self, host, port, db, user, passwd, charset="utf8"):
             # ip
             self.host = host
             # 端口
             self.port = port
             # 数据库名称
             self.db = db
             # 用户名
             self.user = user
             # 登入密码
             self.passwd = passwd
             # 数据库格式
             self.charset = charset
     
         def open(self):
             """链接"""
             # 链接数据库
             self.conn = connect(host=self.host, port=self.port, db=self.db, user=self.user, passwd=self.passwd, charset=self.charset)
             # 创建操作数据库表的对象
             self.cursor = self.conn.cursor()
     
         def close(self):
             """关闭链接"""
             # 关闭表的对象
             self.cursor.close()
             # 关闭数据库的对象
             self.conn.close()
     
         def cud(self, sql, params):
             """增删改"""
             try:
                 # 连接数据库, 并且创建表的对象
                 self.open()
                 # 根据表的对象写sql语句
                 self.cursor.execute(sql, params)
                 # 提交sql语句事物
                 self.conn.commit()
                 # 关闭当前对象对表的操作
                 self.close()
                 print("ok")
             except Exception as e:
                 print(e)
     
         def all(self, sql, params):
             try:
                 self.open()
                 self.cursor.execute(sql, params)
                 # fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回
                 result = self.cursor.fetchall()
                 self.close()
                 return result
             except Exception as e:
                 print(e)
     
         def all_one(self, sql, params):
             try:
                 self.open()
                 self.cursor.execute(sql, params)
                 # fetchone()执行查询语句时,获取查询结果集的第一个行数据,返回一个元组
                 result = self.cursor.fetchone()
                 self.close()
                 return result
             except Exception as e:
                 print(e)
    
    
  • redisTest.py

     from redis import *
    
     class RedisHelper(object):
         def __init__(self, host, port):
             # 链接redis数据库
             self.__redis = StrictRedis(host, port)
     
         def set(self, key, value):
             # 设置字符串类型的键值
             self.__redis.set(key, value)
     
         def get(self, key):
             # 获取字符串类型的键和值
             return self.__redis.get(key)
    
  • loginTest.py

     from MysqlHelper import MysqlHelper
     from redisTest import RedisHelper 
     from hashlib import sha1
     
     
     # 接收输入
     name = input("请输入用户名:")
     pwd1 = input("请输入密码:")
     
     
     # 加密
     s1 = sha1()
     s1.update(pwd1.encode("utf-8"))
     pwd2 = s1.hexdigest()
     
     
     # 先查看redis
     r = RedisHelper("localhost", 6379)
     m = MysqlHelper("localhost", 3306, "python3", "root", "123456")
     if r.get(name) is None:
         print("进入mysql数据库.....")
         # redis数据库里没有这个用户
         # 现在查询mysql数据库
         sql = "select passwd from users where name=%s"
         pwd3 = m.all_one(sql, [name])
         if pwd3 is None:
             print("用户名不存在.....")
         elif pwd2 != pwd3[0]:
             print("密码错误....")
         else:
             print("登入成功....")
     
             # 把这条数据存到redis里
             r.set(name, pwd3[0])
     else:
         print("进入redis数据库.....")
         if (r.get(name).decode("utf-8")) == pwd2:
             print("登入成功...")
         else:
             print("密码错误...")
    
posted on 2019-05-05 14:57  gmlgxx  阅读(69)  评论(0)    收藏  举报