"""
|
卡通数据导入
|
"""
|
import json
|
import os
|
|
from cartoon.mysql_data import Mysqldb
|
|
__mysql_db = Mysqldb()
|
|
|
def __read_file(path):
|
with open(path, mode='r', encoding="utf-8") as f:
|
lines = f.readlines()
|
return lines[0]
|
return None
|
|
|
def import_recommend():
|
# 解析数据
|
types = [59, 60, 61, 62, 63, 64, 65, 66]
|
for t in types:
|
data = __read_file(f"E:\\动漫\\文网文素材\\recommend\\{t}.json")
|
data = json.loads(data)
|
for d in data:
|
__mysql_db.execute(
|
f"insert into ss_book_recommend_books(book_id,recommend_type_id,create_time) values({d['book_id']},{t},now())")
|
|
|
def import_book():
|
root = "E:\\动漫\\文网文素材\\book_list"
|
pages = os.listdir(root)
|
for page in pages:
|
path = "\\".join([root, page])
|
print(path)
|
data = __read_file(path)
|
data = json.loads(data)
|
for d in data:
|
__mysql_db.execute(
|
f"insert into ss_book(id,author,short_title,name,cover,end_state,popularity,create_time) values({d['id']},'{d['book_author']}','{d['short_title']}','{d['book_name']}','{d['book_cover']}',{d['end_state']},{d['popularity']},now())")
|
|
|
def import_book_detail():
|
root = "E:\\动漫\\文网文素材\\book_detail"
|
pages = os.listdir(root)
|
for page in pages:
|
path = "\\".join([root, page])
|
print(path)
|
data = __read_file(path)
|
data = json.loads(data)
|
id = page.split(".")[0]
|
print(id)
|
like_count = 0
|
if data[7].find("万") > -1:
|
like_count = int(round(float(data[7].replace('万', '')) * 10000, 0))
|
else:
|
like_count = int(data[7])
|
collect_count = 0
|
if data[8].find("万") > -1:
|
collect_count = int(round(float(data[8].replace('万', '')) * 10000, 0))
|
else:
|
collect_count = int(data[8])
|
|
__mysql_db.execute(
|
f"update ss_book set tags='{','.join(data[2])}',update_info='{data[3]}',`desc`='{data[4]}', like_count={like_count}, collect_count={collect_count} where id={id}")
|
|
|
def import_book_chapter():
|
root = "E:\\动漫\\文网文素材\\chap_list"
|
pages = os.listdir(root)
|
for page in pages:
|
path = "\\".join([root, page])
|
print(path)
|
data = __read_file(path)
|
data = json.loads(data)
|
id = page.split(".")[0]
|
max_date = "1990-01-01"
|
vip = False
|
latest_cid = None
|
for d in data:
|
latest_cid = d['cId']
|
item = [str(d['cId']), str(id), f"'{d['cName']}'", f"'{d['cDate']}'", f"'{d['cImg']}'", str(d['cLike']),
|
str(d['cBS']), str(d['vF']), str(d['ft']), str(d['r']),
|
str(d['cTeenager'])]
|
if int(max_date.replace("-", "")) < int(d['cDate'].replace("-", "")):
|
max_date = d['cDate']
|
|
if d['cBS']:
|
vip = True
|
|
__mysql_db.execute(
|
f"update ss_book set vip = {1 if vip else 0},latest_cid={latest_cid} , update_date = '{max_date}' where id = {id}")
|
|
|
# 导入评论
|
def import_comment():
|
root = "E:\\动漫\\文网文素材\\comment_list"
|
pages = os.listdir(root)
|
for page in pages:
|
path = "\\".join([root, page])
|
print(path)
|
data = __read_file(path)
|
data = json.loads(data)
|
id = page.split(".")[0]
|
for d in data:
|
item = [str(d['id']), str(id), f"{d['userid']}", f"'{d['content']}'", f"'{d['create_time']}'",
|
str(d['replie_count']),
|
str(d['like_count']), str(d['star_num'])]
|
sql = f"select * from ss_comment where id={item[0]}"
|
if not __mysql_db.select_one(sql):
|
print("插入", f"insert into ss_comment values({','.join(item)})")
|
__mysql_db.execute(
|
f"insert into ss_comment values({','.join(item)})")
|
if not __mysql_db.select_one(f"select * from ss_comment_user where id={d['userid']}"):
|
__mysql_db.execute(
|
f"insert into ss_comment_user values({d['user_avatar']['id']},'{d['user_avatar']['user_name']}','{d['user_avatar']['user_img']}',{d['user_avatar']['vipType']})")
|
|
|
def update_vertical_cover(id,cover):
|
__mysql_db.execute(f"update ss_book set unruly='{cover}' where id={id}")
|
|
|
def get_vertical_cover(id):
|
results = __mysql_db.select_one(f"SELECT unruly FROM ss_book where id={id}")
|
if results and results[0]:
|
return results[0]
|
return None
|
|
def list_comment_user_avtor():
|
results = __mysql_db.select_all(f"SELECT img FROM ss_comment_user where img like '%qiremanhua%'")
|
results = [ x[0] for x in results]
|
|
return results
|
|
|
if __name__ == "__main__":
|
print(list_comment_user_avtor())
|