import hashlib
import redis
from scrapy.utils.project import get_project_settings
from sqlalchemy import create_engine, text




# 读取mysql数据库 获取 v_id 208457 循环

class demo:
def __init__(self):
self.redis_vid_hash = 'c17:vid_hash_new'
self.redis_conn = redis.Redis(host='localhost', port=6379, db=8)

settings = get_project_settings()
self.host = settings['DB_HOST']
self.port = settings['DB_PORT']
self.user = settings['DB_USER']
self.password = settings['DB_PASSWORD']
self.name = settings['DB_NAME']
# self.charset = settings['DB_CHARSET']

self.connect()

def connect(self):
# 地址为localhost,数据库名称为db

url = f"mysql+pymysql://{self.user}:{self.password}@{self.host}:{self.port}/{self.name}"
engine = create_engine(url=url, echo=False, pool_recycle=1)
# 与数据库链接
self.connection = engine.connect()

def get_msyqldata(self):
conn = self.connection
sql = "SELECT v_id FROM videos_17c"
lists = conn.execute(
text(sql))
for i in lists:

v_id_hash = hashlib.sha256(str(i[0]).encode('utf-8')).hexdigest()

self.redis_conn.sadd(self.redis_vid_hash, v_id_hash)

print("写入成功",i[0], v_id_hash)
self.connection.close()


if __name__ == '__main__':
# run()
l = demo()
l.get_msyqldata()
posted on 2025-06-15 05:28  我爱你的  阅读(7)  评论(0)    收藏  举报