From 2e5f0e8faec1edc14fa0053b21e31c912bca2272 Mon Sep 17 00:00:00 2001 From: kun <13098278+w52020031129@user.noreply.gitee.com> Date: Thu, 30 May 2024 00:19:57 +0800 Subject: [PATCH] 5-29 --- 11_DouBan250Spider.py | 99 -- BookDouban250.csv | 226 ---- GUI.py | 5 +- ...设计课程设计报告模板 2024年.doc | Bin 772201 -> 818419 bytes bar_datazoom_slider.html | 195 --- book_analysis.html | 1130 ----------------- book_data.xlsx | Bin 14934 -> 0 bytes main.py | 2 +- publisher_pie_chart.html | 226 ---- run.py | 11 - sql.py | 2 +- 11 files changed, 5 insertions(+), 1891 deletions(-) delete mode 100644 11_DouBan250Spider.py delete mode 100644 BookDouban250.csv delete mode 100644 bar_datazoom_slider.html delete mode 100644 book_analysis.html delete mode 100644 book_data.xlsx delete mode 100644 publisher_pie_chart.html delete mode 100644 run.py diff --git a/11_DouBan250Spider.py b/11_DouBan250Spider.py deleted file mode 100644 index 545babe..0000000 --- a/11_DouBan250Spider.py +++ /dev/null @@ -1,99 +0,0 @@ - -import requests # 发送请求 -from bs4 import BeautifulSoup # 解析网页 -import pandas as pd # 存取csv -from time import sleep # 等待时间 - -book_name = [] # 书名 -book_url = [] # 书籍链接 -book_star = [] # 书籍评分 -book_star_people = [] # 评分人数 -book_author = [] # 书籍作者 -book_translater = [] # 书籍译者 -book_publisher = [] # 出版社 -book_pub_year = [] # 出版日期 -book_price = [] # 书籍价格 -book_comment = [] # 一句话评价 - - -def get_book_info(url, headers): - res = requests.get(url, headers=headers) - soup = BeautifulSoup(res.text, 'html.parser') - for book in soup.select('.item'): - name = book.select('.pl2 a')[0]['title'] # 书名 - book_name.append(name) - bkurl = book.select('.pl2 a')[0]['href'] # 书籍链接 - book_url.append(bkurl) - star = book.select('.rating_nums')[0].text # 书籍评分 - book_star.append(star) - star_people = book.select('.pl')[1].text # 评分人数 - star_people = star_people.strip().replace(' ', '').replace('人评价', '').replace('(\n', '').replace('\n)', - '') # 数据清洗 - book_star_people.append(star_people) - - # 没有一句话评价,比如倒数第二名,君主论 - if book.select('.quote span'): - book_comment.append(book.select('.quote span')[0].text) - else: - book_comment.append(None) - - info = book.select('.pl')[0].text.split('/') - if len(info) == 5: # 正常情况 - book_author.append(info[0]) - book_translater.append(info[1]) - book_publisher.append(info[2]) - book_pub_year.append(info[3]) - book_price.append(str(info[4])) - elif len(info) == 4: # 没有译者,比如:第一名,红楼梦 - book_author.append(info[0]) - book_translater.append(None) - book_publisher.append(info[1]) - book_pub_year.append(info[2]) - book_price.append(str(info[3])) - elif len(info) == 6: # 有2个价格,比如:第一页,福尔摩斯探案全集(上中下) - book_author.append(info[0]) - book_translater.append(info[1]) - book_publisher.append(info[2]) - book_pub_year.append(info[3]) - book_price.append(str(info[4]) + '/' + str(info[5])) - elif len(info) == 3: # 没有作者,且没有译者,比如:第5页,十万个为什么 - book_author.append(None) - book_translater.append(None) - book_publisher.append(info[0]) - book_pub_year.append(info[1]) - book_price.append(str(info[2])) - else: - pass - - -def save_to_csv(csv_name): - """ - 数据保存到csv - :return: None - """ - df = pd.DataFrame() # 初始化一个DataFrame对象 - df['书名'] = book_name - df['豆瓣链接'] = book_url - df['作者'] = book_author - df['译者'] = book_translater - df['出版社'] = book_publisher - df['出版日期'] = book_pub_year - df['价格'] = book_price - df['评分'] = book_star - df['评分人数'] = book_star_people - df['一句话评价'] = book_comment - df.to_csv(csv_name, encoding='utf_8_sig') # 将数据保存到csv文件 - - -if __name__ == "__main__": - # 定义一个请求头 - headers = { - 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'} - # 开始爬取豆瓣数据 - for i in range(1): # 爬取共10页,每页25条数据 - page_url = 'https://book.douban.com/top250?start={}'.format(str(i * 25)) - print('开始爬取第{}页,地址是:{}'.format(str(i + 1), page_url)) - get_book_info(page_url, headers) - sleep(1) # 等待1秒 - # 保存到csv文件 - save_to_csv(csv_name="BookDouban250.csv") diff --git a/BookDouban250.csv b/BookDouban250.csv deleted file mode 100644 index 26f7d86..0000000 --- a/BookDouban250.csv +++ /dev/null @@ -1,226 +0,0 @@ -书名,豆瓣链接,作者,译者,出版社,出版日期,价格,评分,评分人数,一句话评价 -红楼梦,https://book.douban.com/subject/1007305/,[清] 曹雪芹 著 ,, 人民文学出版社 , 1996-12 , 59.70元,9.6,"( - 424383人评价 - )",都云作者痴,谁解其中味? -活着,https://book.douban.com/subject/4913064/,余华 ,, 作家出版社 , 2012-8 , 20.00元,9.4,"( - 834408人评价 - )",生的苦难与伟大 -1984,https://book.douban.com/subject/4820710/,[英] 乔治·奥威尔 , 刘绍铭 , 北京十月文艺出版社 , 2010-4-1 , 28.00,9.4,"( - 284757人评价 - )",栗树荫下,我出卖你,你出卖我 -哈利·波特,https://book.douban.com/subject/24531956/,J.K.罗琳 (J.K.Rowling) , 苏农 , 人民文学出版社 , 2008-12-1 , 498.00元,9.7,"( - 107448人评价 - )",从9¾站台开始的旅程 -三体全集,https://book.douban.com/subject/6518605/,刘慈欣 ,, 重庆出版社 , 2012-1 , 168.00元,9.5,"( - 187889人评价 - )",地球往事三部曲 -百年孤独,https://book.douban.com/subject/6082808/,[哥伦比亚] 加西亚·马尔克斯 , 范晔 , 南海出版公司 , 2011-6 , 39.50元,9.3,"( - 426035人评价 - )",魔幻现实主义文学代表作 -飘,https://book.douban.com/subject/1068920/,[美国] 玛格丽特·米切尔 , 李美华 , 译林出版社 , 2000-9 , 40.00元,9.3,"( - 212637人评价 - )",革命时期的爱情,随风而逝 -动物农场,https://book.douban.com/subject/2035179/,[英] 乔治·奥威尔 , 荣如德 , 上海译文出版社 , 2007-3 , 10.00元,9.3,"( - 160188人评价 - )",太阳底下并无新事 -房思琪的初恋乐园,https://book.douban.com/subject/27614904/,林奕含 ,, 北京联合出版公司 , 2018-2 , 45.00元,9.2,"( - 380002人评价 - )",向死而生的文学绝唱 -三国演义(全二册),https://book.douban.com/subject/1019568/,[明] 罗贯中 ,, 人民文学出版社 , 1998-05 , 39.50元,9.3,"( - 168645人评价 - )",是非成败转头空 -福尔摩斯探案全集(上中下),https://book.douban.com/subject/1040211/,[英] 阿·柯南道尔 , 丁钟华 等 , 群众出版社 , 1981-8 , 53.00元/68.00元,9.3,"( - 133712人评价 - )",名侦探的代名词 -白夜行,https://book.douban.com/subject/10554308/,[日] 东野圭吾 , 刘姿君 , 南海出版公司 , 2013-1-1 , 39.50元,9.2,"( - 475686人评价 - )",一宗离奇命案牵出跨度近20年步步惊心的故事 -小王子,https://book.douban.com/subject/1084336/,[法] 圣埃克苏佩里 , 马振骋 , 人民文学出版社 , 2003-8 , 22.00元,9.1,"( - 756658人评价 - )",献给长成了大人的孩子们 -安徒生童话故事集,https://book.douban.com/subject/1046209/,(丹麦)安徒生 , 叶君健 , 人民文学出版社 , 1997-08 , 25.00元,9.3,"( - 132841人评价 - )",为了争取未来的一代 -天龙八部,https://book.douban.com/subject/1255625/,金庸 ,, 生活·读书·新知三联书店 , 1994-5 , 96.00元,9.2,"( - 133043人评价 - )",有情皆孽,无人不冤 -呐喊,https://book.douban.com/subject/1449351/,鲁迅 ,, 人民文学出版社 , 1973-3 , 0.36元,9.2,"( - 160624人评价 - )",新文学的第一声呐喊 -撒哈拉的故事,https://book.douban.com/subject/1060068/,三毛 ,, 哈尔滨出版社 , 2003-8 , 15.80元,9.2,"( - 175143人评价 - )",游荡的自由灵魂 -悉达多,https://book.douban.com/subject/26980487/,[德] 赫尔曼·黑塞 , 姜乙 , 天津人民出版社 , 2017-1 , 32.00元,9.3,"( - 105727人评价 - )", -邓小平时代,https://book.douban.com/subject/20424526/,【美】傅高义 (Ezra.F.Vogel) , 冯克利 , 生活·读书·新知三联书店 , 2013-1-18 , 88.00元,9.3,"( - 70891人评价 - )",个人命运背后的历史变局 -杀死一只知更鸟,https://book.douban.com/subject/6781808/,[美] 哈珀·李 , 高红梅 , 译林出版社 , 2012-9 , 32.00元,9.2,"( - 146983人评价 - )",有一种东西不能遵循从众原则,那就是——人的良心 -失踪的孩子,https://book.douban.com/subject/30172069/,[意] 埃莱娜·费兰特 , 陈英 , 人民文学出版社 , 2018-7 , 62.00元,9.2,"( - 81644人评价 - )",我的整个生命,只是一场为了提升社会地位的低俗斗争。 -明朝那些事儿(1-9),https://book.douban.com/subject/3674537/,当年明月 ,, 中国海关出版社 , 2009-4 , 358.20元,9.2,"( - 175139人评价 - )",不拘一格的历史书写 -新名字的故事,https://book.douban.com/subject/26986954/,[意] 埃莱娜·费兰特 , 陈英 , 人民文学出版社 , 2017-4 , 59.00元,9.2,"( - 92225人评价 - )",探索青年时代的激情、困惑、挣扎、背叛和失去 -野草,https://book.douban.com/subject/1915958/,鲁迅 ,, 人民文学出版社 , 1973-3 , 0.20元,9.5,"( - 47503人评价 - )",我以这一丛野草,在明与暗,生与死,过去与未来之际,献于友与仇,人与兽,爱者与不爱者之前作证。 -沉默的大多数,https://book.douban.com/subject/1054685/,王小波 ,, 中国青年出版社 , 1997-10 , 27.00元,9.1,"( - 151597人评价 - )",沉默是沉默者的通行证 -中国历代政治得失,https://book.douban.com/subject/1003479/,钱穆 ,, 生活·读书·新知三联书店 , 2001 , 12.00元,9.2,"( - 72960人评价 - )",一部简明的“中国政治制度史” -局外人,https://book.douban.com/subject/4908885/,[法] 阿尔贝·加缪 , 柳鸣九 , 上海译文出版社 , 2010-8 , 22.00元,9.1,"( - 240586人评价 - )",人生在世,永远也不该演戏作假 -乡土中国,https://book.douban.com/subject/1795079/,费孝通 ,, 上海人民出版社 , 2006-04-01 , 38.00,9.2,"( - 90709人评价 - )",中国乡土社会传统文化和社会结构理论研究代表作 -白鹿原,https://book.douban.com/subject/10564071/,陈忠实 ,, 人民文学出版社 , 2012-9 , 39.00元,9.2,"( - 108128人评价 - )",一轴关于我们民族灵魂的现实主义画卷 -卡拉马佐夫兄弟,https://book.douban.com/subject/25887924/,[俄] 费奥多尔·陀思妥耶夫斯基 , 荣如德 , 上海译文出版社 , 2015-2-1 , CNY 78.00,9.6,"( - 34343人评价 - )", -人类简史,https://book.douban.com/subject/25985021/,[以色列] 尤瓦尔·赫拉利 , 林俊宏 , 中信出版社 , 2014-11 , 68.00元,9.1,"( - 199868人评价 - )",跟着人类一同走过十万年 -围城,https://book.douban.com/subject/1008145/,钱锺书 ,, 人民文学出版社 , 1991-2 , 19.00,9.0,"( - 447368人评价 - )",幽默的语言和对生活深刻的观察 -彷徨,https://book.douban.com/subject/1449348/,鲁迅 ,, 人民文学出版社 , 1973-3 , 0.37元,9.3,"( - 65707人评价 - )",路漫漫其修远兮,吾将上下而求索 -平凡的世界(全三部),https://book.douban.com/subject/1200840/,路遥 ,, 人民文学出版社 , 2005-1 , 64.00元,9.0,"( - 324539人评价 - )",中国当代城乡生活全景 -罗杰疑案,https://book.douban.com/subject/21371175/,[英] 阿加莎·克里斯蒂 , 常禾 , 新星出版社 , 2013-3 , 28.00元,9.2,"( - 74837人评价 - )", -许三观卖血记,https://book.douban.com/subject/4760224/,余华 ,, 作家出版社 , 2012-9 , 24.00元,9.2,"( - 164226人评价 - )", -我与地坛,https://book.douban.com/subject/1209899/,史铁生 ,, 春风文艺出版社 , 2002-5 , 25.00元,9.2,"( - 109004人评价 - )",这是你的罪孽与福祉 -笑傲江湖(全四册),https://book.douban.com/subject/1002299/,金庸 ,, 生活·读书·新知三联书店 , 1994-5 , 76.80元,9.1,"( - 111909人评价 - )",欲练此功,必先自宫 -献给阿尔吉侬的花束,https://book.douban.com/subject/26362836/,[美] 丹尼尔·凯斯 , 陈澄和 , 广西师范大学出版社 , 2015-4 , 36.00元,9.1,"( - 109249人评价 - )",当声称能改造智能的科学实验选中心智障碍主角 -东方快车谋杀案,https://book.douban.com/subject/1827374/,[英] 阿加莎·克里斯蒂 , 陈尧光 , 人民文学出版社 , 2006-5 , 18.00元,9.1,"( - 139814人评价 - )",谋杀诡计惊人,波洛的抉择耐人寻味 -肖申克的救赎,https://book.douban.com/subject/1829226/,[美] 斯蒂芬·金 , 施寄青 , 人民文学出版社 , 2006-7 , 29.90元,9.1,"( - 121642人评价 - )",豆瓣电影Top1原著 -江城,https://book.douban.com/subject/7060185/,[美] 彼得·海斯勒 , 李雪顺 , 上海译文出版社 , 2012-1 , 36.00元,9.1,"( - 63040人评价 - )",外国人眼中的涪陵 -基督山伯爵,https://book.douban.com/subject/1085860/,[法国] 大仲马 , 周克希 , 上海译文出版社 , 1991-12-1 , 43.90元,9.1,"( - 129540人评价 - )",一个报恩复仇的故事,以法国波旁王朝和七月王朝为背景 -城南旧事,https://book.douban.com/subject/1254588/,林海音 文 ,, 中国青年出版社 , 2003-7 , 16.00元,9.1,"( - 157423人评价 - )",长亭外,古道边,芳草碧连天 -霍乱时期的爱情,https://book.douban.com/subject/10594787/,[哥伦比亚] 加西亚·马尔克斯 , 杨玲 , 南海出版公司 , 2012-9-1 , 39.50元,9.0,"( - 286118人评价 - )",义无反顾地直达爱情的核心 -故事新编,https://book.douban.com/subject/2046909/,鲁迅 ,, 人民文学出版社 , 1973-12-01 , 0.31 元,9.4,"( - 43436人评价 - )",拾取古代传说,取一点因由,随意点染 -艺术的故事,https://book.douban.com/subject/3162991/,[英] 贡布里希 (Sir E.H.Gombrich) , 范景中 , 广西美术出版社 , 2008-04 , 280.00,9.6,"( - 26388人评价 - )",从最早的洞窟绘画到当今的实验艺术 -万历十五年,https://book.douban.com/subject/1041482/,[美] 黄仁宇 ,, 生活·读书·新知三联书店 , 1997-5 , 18.00元,9.0,"( - 202254人评价 - )",见微知著,历史观的颠覆 -朝花夕拾,https://book.douban.com/subject/1449352/,鲁迅 ,, 人民文学出版社 , 1973-4 , 0.25元,9.1,"( - 155213人评价 - )",在纷扰中寻出一点闲静 -月亮和六便士,https://book.douban.com/subject/1858513/,[英] 毛姆 , 傅惟慈 , 上海译文出版社 , 2006-8 , 15.00元,9.0,"( - 209821人评价 - )",有多少人会经历顿悟,就有更少的人甘愿自我放逐 -厌女,https://book.douban.com/subject/25836270/,上野千鹤子 , 王兰 , 上海三联书店 , 2015-1 , 28.00,9.1,"( - 82066人评价 - )", -秋园,https://book.douban.com/subject/34998019/,杨本芬 ,, 北京联合出版公司 , 2020-6 , 38.00元,9.0,"( - 108614人评价 - )", -射雕英雄传,https://book.douban.com/subject/1044547/,金庸 ,, 生活·读书·新知三联书店 , 1999-04 , 47.00元,9.1,"( - 85813人评价 - )",侠之大者,为国为民 -置身事内,https://book.douban.com/subject/35546622/,兰小欢 ,, 上海人民出版社 , 2021-8 , 65.00元,9.1,"( - 80263人评价 - )", -追风筝的人,https://book.douban.com/subject/1770782/,[美] 卡勒德·胡赛尼 , 李继宏 , 上海人民出版社 , 2006-5 , 29.00元,8.9,"( - 795265人评价 - )",为你,千千万万遍 -树上的男爵,https://book.douban.com/subject/6789605/,[意大利]伊塔洛·卡尔维诺 , 吴正仪 , 译林出版社 , 2012-4-1 , 30.00元,9.1,"( - 60492人评价 - )",是不是真的只有先与人疏离,才能最终与他们在一起? -寻路中国,https://book.douban.com/subject/5414391/,[美] 彼得·海斯勒 , 李雪顺 , 上海译文出版社 , 2011-1 , 33.00元,9.0,"( - 56992人评价 - )",《纽约客》驻北京记者驾车漫游中国大陆的经历 -刀锋,https://book.douban.com/subject/2035162/,[英]毛姆 , 周煦良 , 上海译文出版社 , 2007-3 , 18.00元,9.0,"( - 92048人评价 - )",一把刀的锋刃不容易越过;因此智者说得救之道是困难的 -无人生还,https://book.douban.com/subject/3006581/,[英] 阿加莎・克里斯蒂 , 祁阿红 , 人民文学出版社 , 2008-3 , 19.00,9.0,"( - 150494人评价 - )",童谣杀人案 -格林童话全集,https://book.douban.com/subject/1043008/,[德国]格林兄弟 , 魏以新 , 人民文学出版社 , 1994-11 , 21.45元,9.1,"( - 95633人评价 - )",一本有教育意义的书 -中国少年儿童百科全书(全四册),https://book.douban.com/subject/1028409/,林崇德 主编 ,, 浙江教育出版社 , 1991-4 , 168.00元,9.4,"( - 18700人评价 - )", -鼠疫,https://book.douban.com/subject/24257229/,[法] 阿尔贝·加缪 , 刘方 , 上海译文出版社 , 2013-8 , 34.00元,9.1,"( - 79496人评价 - )",用别样的监禁生活再现某种监禁生活,与用不存在的事表现真事同等合理 -西游记(全二册),https://book.douban.com/subject/1029553/,吴承恩 , 黄肃秋 注释 , 人民文学出版社 , 2004-8 , 47.20元,9.1,"( - 89041人评价 - )",神魔皆有人情,精魅亦通世故 -嫌疑人X的献身,https://book.douban.com/subject/3211779/,[日] 东野圭吾 , 刘子倩 , 南海出版公司 , 2008-9 , 28.00,8.9,"( - 524507人评价 - )",数学好是一种极致的浪漫 -黄金时代,https://book.douban.com/subject/1089243/,王小波 ,, 花城出版社 , 1999-3 , 19.00元,8.9,"( - 166901人评价 - )",我想爱,想吃,还想在一瞬间变成天上半明半暗的云 -可能性的艺术,https://book.douban.com/subject/35819419/,刘瑜 ,, 广西师范大学出版社 , 2022-4 , 82.00元,9.2,"( - 40954人评价 - )", -傲慢与偏见,https://book.douban.com/subject/1083428/,[英] 奥斯丁 , 张玲 , 人民文学出版社 , 1993-7 , 13.00元,8.9,"( - 233395人评价 - )",所有现代言情小说的母体 -史记(全十册),https://book.douban.com/subject/1077847/,司马迁 , (索隐)司马贞,(正义)张守节 , 中华书局 , 1982-11 , 125.00,9.6,"( - 24977人评价 - )",史家之绝唱,无韵之离骚 -始于极限,https://book.douban.com/subject/35966120/,[日] 上野千鹤子 , 曹逸冰 , 新星出版社 , 2022-9-20 , 59,9.0,"( - 71582人评价 - )", -悲惨世界(上中下),https://book.douban.com/subject/1205054/,[法] 雨果 , 李丹 , 人民文学出版社 , 1992-6 , 66.00元,9.1,"( - 63925人评价 - )",现实主义与浪漫主义的至高杰作 -台北人,https://book.douban.com/subject/5337248/,白先勇 ,, 广西师范大学出版社 , 2010-10 , 38.00元,9.0,"( - 73866人评价 - )",白先勇短篇小说集 -永恒的终结,https://book.douban.com/subject/25829693/,[美] 艾萨克·阿西莫夫 , 崔正男 , 江苏凤凰文艺出版社 , 2014-9 , 32.00元,9.1,"( - 47492人评价 - )",关于时间旅行的终极奥秘和恢宏构想 -诗经,https://book.douban.com/subject/1883245/,孔丘 编订 ,, 北京出版社 , 2006-7 , 19.90元,9.5,"( - 28840人评价 - )",思无邪 -孽子,https://book.douban.com/subject/5337254/,白先勇 ,, 广西师范大学出版社 , 2010.10 , 46.00元,9.2,"( - 47750人评价 - )",写给那一群, 在最深最深的黑夜里, 独自彷徨街头, 无所依归的孩子们 -刘擎西方现代思想讲义,https://book.douban.com/subject/35313227/,刘擎 ,, 新星出版社 , 2021-1 , 79.00元,9.2,"( - 36553人评价 - )", diff --git a/GUI.py b/GUI.py index 797db5f..726cb0f 100644 --- a/GUI.py +++ b/GUI.py @@ -7,7 +7,8 @@ from pyecharts.faker import Faker from main import book_list_data from collections import Counter -book_list_data_sortBystart = sorted(book_list_data, key=lambda x: x.star,reverse=True) +#book_list_data_sortBystart = sorted(book_list_data, key=lambda x: x.star,reverse=True) +book_list_data_sortBystart = sorted(book_list_data, key=lambda x: (x.star, x.star_people), reverse=True) book_list_data_sortBystart=book_list_data_sortBystart[:10] book_list_data_sortBystart=book_list_data_sortBystart[::-1] # 从book_list_data中提取书籍名称和评分数据 @@ -79,7 +80,7 @@ line = ( # 生成时间与书籍数量折线图# 假设您的书籍数据保存在book_list_data中 # 提取每本书的出版年份 -publish_dates = [int(book.pub_year.split('-')[0]) for book in book_list_data] +publish_dates = [int(book.pub_year.replace('-', '.').split('.')[0]) for book in book_list_data] print(publish_dates) # 使用Counter来计算每年出版的书的数量 publish_year_counter = Counter(publish_dates) diff --git a/Python程序设计课程设计报告模板 2024年.doc b/Python程序设计课程设计报告模板 2024年.doc index 86ae627be07ef3dc540c81a860127b54dc7de20b..4ad386a54dbc8500d287e10bdf2b2db35588be7c 100644 GIT binary patch delta 47078 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 ObxUAs#?$iU%KrnV1laZf diff --git a/bar_datazoom_slider.html b/bar_datazoom_slider.html deleted file mode 100644 index 74e2632..0000000 --- a/bar_datazoom_slider.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - Awesome-pyecharts - - - - - -
- - - diff --git a/book_analysis.html b/book_analysis.html deleted file mode 100644 index 5980ee3..0000000 --- a/book_analysis.html +++ /dev/null @@ -1,1130 +0,0 @@ - - - - - Awesome-pyecharts - - - - - - - -
-
- -
- -
- -
- -
- - - diff --git a/book_data.xlsx b/book_data.xlsx deleted file mode 100644 index 1e34d1db1c8fa69e9b3ac8b74d123ad15a2626a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14934 zcmZ|01yCK`(k_e#ch}(Vy0IX^VdDgMcXtWy1b26LcXzjqI{|`2aLLbmPJRFRPVT*X zYG!Jx_S4g=tGicES3e3ekWiRlU|_Idy~WMy;+lPk0Uu9wA1CU^X>4bt;Am&>#B5-1 z&*W}nEf*t)(9eSU^^f$)rmgDLXV%Y)1v_J2lH6Re#-gsluinaiKi2uTSfbjo#?=SO z-8e%AOMKDBB*2;x#0Nwd%J3v8@h#Meg{D0sF;>k6DQXEuAoa0i*{3sJiO!mMj|e+C z_h?TlT7pwEol`7XX&zIoZexN$og~e6PX^FE3D3|9|D|t+!%N%6ho1BhU|?wfTVEqP zN0WaPo{H}S4zM7G=s_QD@lJ6eE2bcXVMt2KLO4XC+eMnE)391T+&3DW2JL|J48Pw# zH5@E|wGin)!X%?|Otll=zSBr=HIc}t0j~$-gW9su-xfDQ4>;v!oWGY&g$jO#own;E zx2TXBK&;#oF)nWsPY+5L;oYy&xVmO{fi^|b4<+^*pIt;^;gpXmsk7RJPc;Y{JGz8e z3sx`pGnDzX0sxq{6owd-hN_Oq@o`+;|9(_juF}qtdVnd>Tb1G!+o+#704;64UHH@X z4YluONQdc=ADA)%{Bm^s9(96!YHcsy>#oHVnyyZn7IFUDIBD9MG09 zakpl6HaD>``S+FeAM>1RYB{a(VESIx%(|Q1+aL^c`8PLWI9a%^H>L%h14)9>)T6CE zjN^j*dL+0|Cz6rQl`z)# z(Pc0fnpIKMwA1_Ccu2zjh&7=SZBhV^@lBYjEv)h8$$IE@ZA;K(=7g7s&EJ-VK>f4d zv|Y&oP%~^-rGK#3((H?x)yUkuXJiTOx-LZ}_Zj_m%d-_|{a!f=fR7PH1H_iNR0#pTh;@(T|>+ou`knefqC z@(WgOn+q}F!&S5HNZr@+p##<7!xgj6rxsMyZ`D?XC)nm9;`^tb=vYmMLJOb4)a_lD zC+8uPb!nen67g4wIyQy1uhcI9;b`x}Lr}{W^LWV|;*MFd(8yrigLAS9-ZjF_5j*|y z^V+e?Gqg<#_^|1t{&x}qq(d7uZ+9sjV}eO17EHC-_q!zZr>Ia;?tH%t3aPBYDT> zy}Hl6yo4<|sI0ev43sENA(k`B*nWV<(= zr==TqbUQlip~5a*;9H)$)LPIZsyO~$rqfTSIqR2CMdEY!s+}7JDe73@DY)Al<(v#d z%kD|N*HxMPL>TB(i3l*lAt@A8=w$$3IZ2Fn`l7Y>%mtyVL}rR->9`*j4df-xR8z<7 z_E$?Nw0K?akN-|b#-jBQhwwpNt^wB-q-L2@9?BtDO3VfieceVZ zcAaA~fo7~5&Zy{1^OWam#@THn{ z4aC7jWAx2&YIH=UCV_SZkkfniW-ge0eg3>k5mb||!AOoBE92iFOwsxpIetYq2zP9( zMF}^dvS7j;fu1cwV0)r`C!GX3tZAcZ<<~kmsmXH|WSDv4*E?#QLSPqdag_PhoY>t& z#UuT@Zqgn|Jb}n(#vf1A?3PQ!`Esx0dO%*pqMRbyiZ9X)Y15vy!ON4K8rKHDpcHF2 z@N_cdj=u+3g=+Ij{bqBtGB@{f)TdZmaLJ!cG!k}`PkNCTk~%XW8tUPtmui+YtiXY3 zV_iwXAl{5KtqX==Mq^i%VH4I4~o9`_fC3b9ol%lP-KNr8hUTo52 zTSM!HXG5k0=(kA4Fsm5fGO6oRC7Myyx~c896llZ(&b(_>jpiVt0kIL#C5;ksily^! z@szud=%of#d3wayo6%EnJNJK%H~^Jf(OsKSAlTYE0A-#gtY*bG+l+{C3|e6t=zDTH z=SxQ!nbn?TuFolMefl?V_G1z#hkQqRzjZ{beeXB-pKTNPBxN%_hS0#B#URL&2w|{s z*bWpf;$vYjz^4+&zFt8D7#9eFE%`qAMztx7BM@2*K-nDpMW!-BkKA1D>{7jMRVD zbr%I1aRkI~3(|Io8$z8jJX`z4D*vc26F;$S1MJs%w;*+YVlapn`u6!mM0`i9Fzjxx zk$x8_KUnI^P@y`OMxsecyyI$HvJ6TrR9uu)05~cASdILQ^UU-GV4Olpi&Ab|g&iN1N*pBt7mo&%3(=H8nL~eE&S(Z%&O=bfC0c?lOPb z+U)7@_^x-Ur{ni(@8@+Z`Zn9q0unE?f4lfO^+L^@4f^vk@D_RG_C=u6=l1;`P?dv?%&~Ub*3X>MJz_Ti@Lh-d)~qu1vZ+p4?wDI$Hj`{|pTU>G4a+ zGx@f@UH>d;LGkN+dCJgw7V&NCtFa}v)#dN$d3oCF_MXF;>0$m;Y6YSO|JLK7N4$_j ze6d?&r{5NeBmW1P*j#01r{tbj(98D?tVQMB^-VzP(NR9&PU9OKfB@l(&HQxYcGou# zifitd2V)nSc-bgdirtDguZY!Yiq4Im&`gmxwPBFg+<0+ZVNFrItil*5hYKZV#_oZ# zf4v-C#E~3sJM+q0$;XWDXt(7#OIGBmtgFIKAT)1q`%-GL&Aa~WD~^%Jo*?ZX>n^3I zWvww#?RJWsU9z0r<2n}*B$lsq=PEjB*?JDZI~;t5l~C(@UqW&F;^TJv{_CZ~4MgJi ze9;5;3c?37N$MfC@fJ4)Ao{&s4@^C@=<)k6TDlFUKC*A<%=dkHxzD#v&ZTb+ zV0^Ht3hdEN^earw(TNgr?9|+T&*y7X@7lr*7y)HYyy04%-2K>LYp<#?kx9{UD4UX; zw=;?N?v5zmuuvKx-zB(+KB{05fpu$RpQc(TS+)K{#zwWyX-R~pvnI&LkGESg-}Xw( z&+k4MRk04`J9GCOR3k_G+KJ2yI;~n}XIO=nN&XUIi0qEBg-H5`@?li~v8}QS-ZqR> z{O4oQKE{BZtsL(Dfx6*HxOr3Ldq9+nVi>}zQZ4zU34Xr_-LbTsL0{LP_n~<04wL*c zAc>+j^^AWO(0W^`e8=&7394@F=mrBh+E}5vrX)$~=hcKwbB9)QhY|J?AiDb^W#g_x ziysfG3E$R1oT`Fq=aeAYQUo0Plr_uxX|G+7>ham!LH+P*_I@s^?z3h)Ln#)KWX$gb zE?=7GBJIX-{29SeY&ufF3a%O*tV$jmTj`iBw5^a%yNm!-hJp%2ZM4v^4LOYQ#vxVP zaRHQZW}&4{dzc#4FHC|=G5ev;c>ql95oktFE0T8vzo|RM_e*=VuP+3!=ljAfcLn*H z)78Aq_9N@ibI&R8XEt{=l++h5Z(rd0rNXb1?(w>`)+s2|_qyVyXXnU2 z=$qdcsB-gYOX~KZ;b zk%_eeGb;rup=*@&`RT-|tdQc{*_ien(6Yjf^B%H!zjS6cJ9YY%`OgI{0{=E94NYt5C>bVd}z&jXKRFrOUy zgb#E$#4IN*Ivsf4t~PnuV;Jn~T^(}crRb0xdPfh)5qLG7Y2<_gSwDZ)hs5KcY`Q;I zvUH@J&`URMTGeVujd#g0kCup9G7<{6t+QmXJMGVVY!!{B#L|$Bi5Mu1BHF3VG%y$A zF&+DGaqONqHpFWh3}bLLWgf>2I=xji!nO$=4}V>V5jZwSL?k>kgH`W+>_nDQz$hc2 zo}{;*?qP=wFJ`DEyO)#EUM?YHUbZ&iWzx5o`MVV7{Q+)TC$$-bAij}^IId}qS0xUK zrmpN7bPRqYldU-v{pD`BZJ9W6mMF>(+i0Z1&cp~?MbFsE23f}OvhEUmx? zLxXkss?p9~R{2*hBJ=A+oQJ}4N519k%u1afNYk7|x2VNYlX_%3WSZ@kL*MBpjiW;= zLaTU!3RIj~f6PnsF z(=PjaypAW3HCb2_yh{wa%%y}7++V44|Z z_J)C}FG3Yok74?(xWiH^{ZV;?fyre+z>qzX7!W@HbYVD{Juzn;{;#iyPU$gBmr5w7nO$hJ>MMmCLEz>JUU3z4X1>GK+$1o zbYMZ6uYU(PY7op6CF8otxQtvh{LKOh+2u%CgpglfKs+lEW8Ox-7Pp@cga$EeKs#(8 zI{X{S&TD*G9D#L*{u`64UTr5P$*@6A%AS}I#m|StJ~1fVWJj5JQ^#WwsjX_v!#mrv z#7!x}+_uwQ9SKI|4F3992=#pijjGtjQkjU6#?x^_C(cz3igfv(DPVK}xh0|c>ela~ zVA&JYbK`+16G1>g8AjJPSnq8z;$L{mdoS*b8r}h5pF*t3v}}?LKIzTJlTLh9*UKh- zN!ZWp=QKcBm6a zQ*bFO)JfJFtbaaFh-2!`p%RlaMpIDy&*tv<0H={1O=&v~HkvK6 zXlO(ys#x;mw^Y-*MEU}T5~bky$!zpP0J~?H?S&_p+f}~#G$Pb0CD~U}QFcY1@0I%j zoQU>Ryp9%gAySWdI9H1q3QiSm3r4?#SoMjZ-E?5BzNur_MUF17lN%&Ync?vD;Um|A zkKkg*aW6A9mbaX%lqxE6?6uVhz|^L`LrBjt!nbV%%4ZtBM=j#-t_>lzs~`phb7XBE zqsdp{W%Mz$z;NU*kU`Cia>7Tqg{X+Va(#z~F(g{FZ7I$&j*bSxDgJm$ zRohzhHjc{D!g9QQI;8~}Hdf(|C;704B*aQ2G;|o}e`S*boaKd^9Yj^>B*z<7Ip#xz zta2e^2j*6*GN@M~2a;eyO=bLsVbt8SGQKMx__~8FmsMEc!341ZD4ucI`@P!Mm?_fT zkR5&zrcMlfMyG#OT)NNd86#FbOKv*IpPwIBRprzuJ1K*os~GQVAe$%t;L>6%PS;yT462$sw*=62G5-$y>Mg^Q*G4tC*MJ# zc7zd)?(UX) zHoMw=_?Q;rHibDy*#!H=ORJ&fL_d$2{Hd>wzk1iS)UVtN>YvwzkJ+?G+*&y;kk-KT zOx-Ct$Oi!xWS|pKzrbKQS!?GrN==YSR9={rLq^xQP-zx6mRF1NqeWOmV`8J zkr!o?sSNGy@dQsZ)oZ<=Cj7J{;mPA;IJE<*5rXws-uve9|F~u_DQzS-vfxJ}E5SXi zpE;680F}Fl89_8D%vX~cx4;^C)q@~m>T6L35Fv1f&9$~Ibp|kGU{cGCHCOsI3+2{? z3=kzoE0etB`Pzi}3~fr&0lJc)I7@PCp^W5FE`5lM_k9)*ea4^hEOXogJ|%0ZaHL?F z_>JB+KbaK8w)?*qVGZ(`tGk0i>LQvSff|>oX>&h?VR6g_T$PQCbv@GvM zT!ViuZs=uPYqqHp1dL4imsto1^@qDZ?I?$tqQUkK0VVwY5?d!geO zxw9+h?2~paYD>AIDjN^kCtj*cW*E1b@AEQ5TK8<+C#d9(HttaSRT@h;3*b#=u#p&Y ziYRxw?rvh0c#CPK7Ckykm4b|seybcYj5*zh{|#lrX|bA0P{t&%km501V+2|k;1F@% zis>=~(o7JzA?y4cE;`=kaOCQ%^pCRksif({urxs8wgukw(;@Dz)jD=N8(AZy0R(l@ z0Ik7`g!j+r2KD*RyJO9|@yNt)z0gG}-Xm-4Q+P@i(_!pcl18Rk+%y~;upZ0AH_L8@ z^_5r3WQwFO4oEQ6cQ{KuhS^ha&kyW3RzX&vFw8*3G>V*u-^?>Lc%q42-HY(ysJ#B- z`-K7d75(VR^i?sZs)ZKNX_&Rm0rRoBpW;3nhMgQ6-kkpVrjNv zb!Eo*)gM<|54ZN1T>xyff@R;US>oa9?+irjFf)D&(zl;M&WAz=@a{QrION)1@zt2p zN?zr0Woi4ipPHUJ4;9+0vd=zQg$&V)BGYUNlqm@*JJ>}c{G zga6`hbtz)_oFlz{#~^DsPQB=>yYFNwP8VOr$I|~}F={6h4I^Z)NNqn*dA#35odqza;*S>ft6Y7r!XGw6 z>{j{&X8$?vN{caov~k)LpZ2j_76J0ZGZthD+g;#rqewZ8@W+;45XY!33WzzUZ{ZJ* zH%pUaqXuTh|pn2h}VkEV=!ze|COCTi)MRFB7ukX~A>eB=TZFsGD zjmBinKXWyS{AOUKk!6@47qAo;OSve}255n35Db^?7z9*R?p_MW^yg zZej_yjDio3E&+B*x~Lol%JEbdOzpjWs#S4o25lWr#k4<{jJqyTABZV)KHV69B_80 z|7kR!XF;cZ$?{XjJq>ih@d<%M9vSaLV_rBNE&G+ ze6c^A8Du4|jw2%F%DghsZ3Gi{cBe^cV{G&OB+$N6M2c@L*GPyfW|v%=sF?8$Q(?v? zt+#?@6i6*y5jIk4a7eqz>o*P@CC6VbYmpH?PM?b^28p0p8E3VNbEp`vtvKCjOXlbSwn-eS7@H~o%hEWP?Eq#E{g?j zbz}Wk3bKPMlONoc_svz(Fb~FUie}@cCLL#pUBHtH%O~fja(U2H5CfNkm?1N4!wmwYGMw}gqNh8OUbpIc*qm2@rrra3&qV*u07RFKM)50HW zpG_6Bwww{;fj4)ldEW(s+gnZa&*r%!J=aSte)dH8QJ=OZfM8{WP$3F&9F zI;ezVv=a!*iQk1C;2JDEDLH!1?rRj(H|>g96;~CiqnB8_tIZxiZ`XnNaH>#g6Byz6 z_`dJ~i~G=`2=(NVJn(UPJvknb$+n8m1o@-8wnka~r|ktyP*$gj>oFpN$baR~F9?Oe z@^-udXmi_gc{pToHceUvN)-|W?vt}?R>R1v&rwxK-KYU_t;;wEnrwnY zK#CLX(f`|@W^-dEe8C*^AA~~V>l`eG1rh@WwuE`OH z>~9mZ4Lj(hbPI!k;vpn@YY_8-OCp`oYq&d>pD*umUpvL6byyat{dZi2&%UQOq$@AM zHmb5}CKoQ#vh2)Qiep;z_s-u=f<*Cq{;HLhn9^%513_;NABBWW{VE}()JWKgF(w~g z*}hT1`dpMX8<9ma8Ln9vMQcpBb*7A^I@oUGjtz^x2Pt!)G6< z!X+wJx?dN?7l8(9E{3=#>pbSd8kz6(i)gS^wEil51|lxiK9RR;Puk7$Ef4o3oQWHY zqNcUd;H@zM0`k`y*ZR!4JXUAmg1evre6{^~JcWT~niS@X;t7yesLVM4JDYImqGMbGj z!KB^aw$$NV=P<~uhV4h=>zVEeV3EI8qf**3-%g-o1V3G;(x&G=!k&XE5uk?7rVtyImh=F&pEfmT{zGNEtqa>wdXE7 zdFF8z0{)Yv6w-XpQ6j7+%T(&KhFLqAwOPPP*9DjX0u_U;y)kf{_N614h?sG=BU)|{ z9F=Xn47WxLav}l6?*N}j)r6v#8PpTAnPllJiqw0z%vojY??|q5Q5x4W<r%~M8bm94e z==<%J*fo1f&-y0NLZ`BjGEIv139gOO>W|S7%xay$>ixlNh52riDP@&m^ZjZRHGtyV zmi1AKQfrZO-d*tRV1~G8tJ{D=9HN21Lp0z1pd2oBQngkJc~0w6+3Xns55#a0bmc4t zjPMiYFrGc|7#OVU<-M(2nJMB<055|4%%~dv<=~7?Asdf9go*Dr zoVO@>IZf)>s)=mId`vrcDdVRpF=OFpoRf8m6X=VSaOM1pdp>)FQGaU*LIlNbF0{JJS_xss?nXitgPnbE&yK`zqYERDKrP zS~2#abj{c1ca!U{TC}PN1KdTt;lPPi7EGsc${udDMZ>flK@ZhdDs&8~JK98hL z9mKbfP2>B|1v0V+D1oX@yEM+Ctd;{PMRqmmW5Zgbw8uK(1$YzE+{`Z5iRuKejlzXV zf4o`>g1!j-eDR}r5BNhac6MAqUXIWKahSHj5&Lu{dbLjY1{irUzb=iOj)o7b7@GW* zgD9p0C}o}xt;eig#^SpcL8xT9!)|PIy?YM60B=o=Uev)?C!{`YiklM6Bd0#@A#>n4 zX?wfiW0t<+5m6glTEVqR0G|gHoBxIOd)!iAFOVn@xTb2Fln9p&iviyik?bqnbMwv5 z)5-7p=2u3=_Ey)+#rxDl%}AiMF}Ho)c#c|09$t;nISmzn=)iiNKl#3%0v0DBbH2zh zzEMO`iq!;ohHPkQxq8}nCc}2fb51J?EGo(#vE+kAM%1lDDfCzhdH%)JbOT>=nt9V| zDnUeP!3~zV+t!dzD375rj+(MO`IR-e10fQHbMW@5lKNYF`^RS^(b`gAKbVmO6^rMa zy}MKKSrjZ~N3dQtEM;fU8gATJ96aUuPe~85#TC!P>QA5XnJ40a?tWWP zkiWV*k1cy?SE#nSHffH~$^EmzliMNloMo68@}1qS1-g(&oKL#axJW=o2V)~xzseB| zh{NP^+neXD8OJ@Rz~dRfqykZHZWTq0SrSM$r(c4??Zw2A&k`NZLa@5!v1#}b_+VzA z8b1@ZYhJXXW{;@HCpbVjw2;l+*BhcIeU#3rlxWpD7U28S!6H(gKSXD2(Z$2-Kq(~# zUokFRxxQG0FH@T*)M;}|HPD-=iEy+cezp3@7G`HnvO(Gt zz@9ip)hXF=ktG8Xqpvb1#AMHiPAaXYl(#VhLP}EFrD)DY(>6X`{wgHTUv?L> zr2FGn8&DDv_A-xSrUP+5i-BV144`(_@zWWd@2-rcMJxvEcDY%ry+P+S=-e<|AlsbA zzA4bM7u{l;6O4D`*HME`CM1DN=R&a0H(+TEewg;TJ?r*i3KBi+Wlii|+xHxW#Py7p z-fq7Op`&W~BD)6j2l;09mF7V-@_P!UoHh4gpm-i!aF+nnyYAa+TG65uxo`aU8qwp( z-9r>ASgK+P4tncv4(^u_m0TeSiJbG|$&BREgx}@`QM&??5*cp7QPqFThmM3h)cp~$e|rTyql3dJk2t<;m06?VN(pQ%ZI z^MIvjev)D`Fh`3o4nj=#j2w(qh1Gglnn~WU_=137#hcRW)*qZxSTAa?Qu<@dE;5!L zKYijRStE~nvTjB=8Uc7N24c~b!m8c)?jZ!+w*lI#L>f<|x z-H|yPP}mkIL^Zb775Kd*G^&7N<4(|cSGbov53!g+NbL~(OP$M?<9PVr^I*l@=V}^W zsGxG9v34yukU?%v#GaRvf@nb~vL+T+3#Q6e^T{-?A`7HSV``?8d8L6=IbctYXD+7aU(5TEq^&}X5d#mDc7MwJRjWVAN9$-WD z?>%Q7$pS#eR?HSQcB99|Ra>ztE&T6(r=#Mp1;x*G6rC<}x#Cy3mP_fQZ5+oIAkIMy zQfItaDY5H`QeC<#^);(G^9%HE=V3XY`JKC^Q?FISUVT_ZtDGP3J9aB;H-(gUQw!^) zkAi%qagar$WIafbS2wj))b|Pr+i|oWUG~XE7+%oQ*!r93U!1(Z!cx{TUaU?H5+ePR zzu=gp{bhv=nh-cpW7GK*tGf%S56mGSSH>-MR6t^HESkou2J$vcoToSYUr1j z%mX7FNealE4c|XkOyc@1d0gXn(wYCo=Z9bLJHU5+yj(v%$vioQey}M3+#?GTD zsM$!&9=0VO9{5@Fu!9nj%YBY5=4~~}&rIAnV{C4QUo6v?Z6dCLK$4QUf|#CFhHlCp zk9>A6KB-|T9~asrq^3BsyBt~Jl2M4b`J_X$nz0ee!-FQPh(Yb#g4?PtHiN%c1|T-2 z5Wry|sB8)-PG!Pit?YK@25jI!n2#@4Q@-s_ma5EOL{Z!qu@?c)?s&y0%a6>qma#>$ zPSM?~BbDdK<}^u?<`$L(Q%)hKn}6)=ML#q*f=`hH3zMsKd}NBeoI307pQED9K9+TV zx35yF5WjhPKXpL_^l$);oYjXRajo9$@GJIMBakrf8nowJbfCB8DfW6zWAVv1rL{NuB3Ln>1#-R0dQ}ctR95mfxD`9| zCDF)I?Kh^o!h1G-UX8m6T9+!Jow=nIr}Fwz9O5MM^z%6J^*SWc?8J{v@Jpd}z8aAU zeL*uCVnuf0+^3y8N7HLFLOe?C4t0->J~C6vw5L8YW6C;E38Fa`5d(&?IR|;)iH2#l z&8^ID(~aaJV@_4tpOP39E(mIecUM#lw^`t=4axn5OLB0bU%b|+L5u6pKbC|S*2KSQ zE}+(#Eu;zwNSH1PP$zQ31xWK~G`iI2lR$&$oHV>yJO}rmW zP+h|+}@1T<=NGOUiL=ALO_$QJ=CBkqEIS&1~|R=;l(2jWvErfvRpW; zZs^W(Rb+FRabPPve}%CkTJ*_U`oSVHv?yZsHX^mjK5i9l{uTeZ3mQT~t@9H;q%FTf z7%DlX(A~J)wLRgkW|H;9;J2dq`$-eh-S95m(AXr|DmhsBs>xAGL}mrEG{M2|?|LtC z)I74l%6DH$F9mR&nXh-^=`hs;o;Lm7H$v0MCr8x*t(3M1zYP+ zY5nJ@a~@_HTSlGs4)dBSp_-zMf%Rh+R>?pknBQvb*`2gri-8uAL(?a47{Hl%*ud~= zhAKnX0{Wwth;UX`Xzfe|T{wXAZ0ViBu7Uj=7A;?i06t-!Hb&hv;}7FTt~Hb?pa$`| z$jgxN(#;c$yNnZYCFF!3qBpBmnMo}Npt?$JGFgWQrnM1Tj?KDSiKcwImp~-r2pK6u zvRL%k|JJIL^YOJPyVq*&zW5U+lQ7>_}_ zLNotqzLXR>xc^mB$9LcYJ*03zmxQyF3l8Q}d`#V38<#_WlS3R?Ap(XUPqVKB+{q(D z&run+F^+%%SVgFfKuBzAV1u+F%$ldkS|2W*p$KB!iUal*E?G{TF}XIuR+)kHYjAwO zu9uyw6U!>p{j+`p8eTCw1BYm$Cn^`Z1iL);r8Pzve|Pl=JtBTJK!IFeg8SRB?98I( z(cYj22vZYy5y) zg3)%WgQ?~^{kg#WU~iAlAlX`q6e@V?T4yae9JMgLW@#^QXYEjqPgE$A{2NJwy}C&h zZ4}-fp9|G=Df^%V=Z3b){lJS3y7E)Jk-khB3)ucJA4_m?Kn zL&5S2TP17_wkbdPUU(98;$X3{GJkS=y&D0ww4ms1@^5syzwiEBI{&h{(c^jhzCX0S zPO{7Xt2~qN!A`eJ*Vm)<|t%<^v{(0rrLVMIt%I>)-FnELTY;J zpg$KXO{0myLtc$E!w7_iqX~fGb<~{Hv2&Ry$`4BnzKK4EftMgafV!1PG#-YVT5pbDapmBZq&e{&< zeB3y>@Kn|2_fmso0A%xxS}plElloohi^|_#9`s9qR-EG%0uu(O*a(^gfafy^Y-Rwy zfpEW3i6C;CgC=Nuv-J(;>IX5GWYGmXb8m=10;09Y(Sia zdOL>&MckDzXfE{AD{qng;#oufWQO!jc}gUwM{UJ0WT`XN{^uN`K|jR)wm3qaT|d)1 zEyL--Tq`qVro_u#O&`y-u^6MguTMF(58ZQS7_#q{%dc0Bu|Qifo);2?>Tj?8M$vUQ zSc~@X4?Cz_1`-BY8wH>64-EKTdaKhX5KOIz^5Jwk*+@(7`(l!)6>a;lBe3TV*=m@c_o|?5H zhgbwW4*`Dk4PpzSbDqNH$THkFR3!_|rB-msX38HH({Uoziwwk^q4Ppt*NsGLH5mkj znD9(nx{R?)oC?2%X@jzg1lF15h3&rA@X9)fSV+pSBVSF;`>{RTB65lyN|PsP;kz#! zzPs*7&E=7)W2cLaE#wmw`4NrW$1a@I7?Cx4Y8^j0n5)3YY#32SIT$v+a|Vo|ocV(N zcktr36I8H(gMpEMEEMJ6!TZmgv7w!v)j#1ItvDw=AcXpwWKW{6G#5~G5-G+QhE4C& zLy=*6vT3uj-ndrdmVnCexVNx1%`h;zaU<)^5Ee6*;zs(j7|jC50)GOgGn#u*M4_1K zUd{PX6kiKQYY0ZDQ^u~rI@>d{uQEAdIeFnU7)n|g9{#?Uc$d)c$yW}DTPGBHla;Z1 z-b+CY>Deiilrc$Bmv@W6s!J2*(h)z_wlOJgh{B-$?(fz$Ca*OJj;7_U&KaNKQ5?YO zn7C^=+w$ug%9GzVYZikSTvyBAthjo}{@8>=%oEG#*dW~~9N}F)S_P!upFTb<8e1m; z10q1I>*GqNP)BLQV?g$Iwk>DPEUl<0clVdRD#m}4E2b-D6}l_tRdir1-Ef@$A$)Xy z;d`Ge<~%JxcTcQ4rlvf6;-~iIzl}>loRMGkVbsSD1LObOxc_#f|83%bIaO1f0CFG; zVsH)mAsDAZnJBcZjygRPD)cQmI{HvGd<%0hcr358L47u(-{lxE#~jnmHn;hfLfi^w z+<4;b60A_GF@kA&pGDphr*cmt1g3Mo%Mvx7rd@c2-8lOqEkBe0UDVlS)54qQt)Ax! zg{4#HxJ=BLRvHWcK(^n!nX6A}Z$dUXzmyFxf-c!!^Yh-=XB!JOpIUifL#%s@pvB#oPqo|)k#a#&eqw))>%)*!`{S6=N~VsN|5_tf}wt_ z&P0oni9tQLm_Q#v#~$2B9>3x}!Ax_0ogKI)or{hYELZ8i)j5-$Qn~d5t@b$UZY7aO z(Hj#&^%KyLh|ImZkrW{Hn%+z%-ISn(`Y>@AsL+SuUQXkcc)G;i=xA5we&RtOcO{qB zYpB5=-9Kq5jaR@ajSd>>J0(f{^|iFkX;$Bij7eP~q9RE9iOBw!7oU){xM*EmxNebA z(s7j#uV%03+TJ*x=sG?$Z)w+lGQJT+SsmnOv(q_eRynF{mZ+JI)z>~#_|b7Wcr-vA zl;21e`PinaF}b91ag94^{oUD%Fi>1(w9i=Hoa zoy$Oczn_u2Uv&LGEC~*Q3HJZy0Dkz)zkc68?E8N*0{=$;&B*&V77Xk=ccW;(w%k2XABfmz4h$ z7k@+l&f5QhMzjA{4*whYcNY8)(3Ru=*ZhBS;@{xEqx?VM1 exxm2wFJbjDjP*e=1OtQnI0QfPHw4c=PyZkFry%zL diff --git a/main.py b/main.py index 7e5cefa..040269a 100644 --- a/main.py +++ b/main.py @@ -95,7 +95,7 @@ class DoubanBookTop250Crawler: def crawl_douban_top250(self): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'} - for i in range(3): + for i in range(4): page_url = 'https://book.douban.com/top250?start={}'.format(str(i * 25)) print('开始爬取第{}页,地址是:{}'.format(str(i + 1), page_url)) self.get_book_info(page_url, headers) diff --git a/publisher_pie_chart.html b/publisher_pie_chart.html deleted file mode 100644 index e8b60b6..0000000 --- a/publisher_pie_chart.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - Awesome-pyecharts - - - - -
- - - diff --git a/run.py b/run.py deleted file mode 100644 index 3c9950c..0000000 --- a/run.py +++ /dev/null @@ -1,11 +0,0 @@ -import requests -import json - - -while True: - msg = input('我:') - sess = requests.get( - ('https://open.drea.cc/bbsapi/chat/get?keyWord=' + msg + '&userName=type%3Dbbs')) - js = sess.text - js = json.loads(js) - print('微梦机器人:', js['data']['reply']) diff --git a/sql.py b/sql.py index 4e9228d..c42d7f4 100644 --- a/sql.py +++ b/sql.py @@ -45,7 +45,7 @@ class BookDatabase: def insert_books(self, booklist): with self.connection.cursor() as cursor: insert_query = """ - INSERT INTO{table_name} (name, url, star, star_people, author, translater, publisher, pub_year, price, comment) + INSERT INTO {table_name} (name, url, star, star_people, author, translater, publisher, pub_year, price, comment) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) """ for book in booklist: