From 2c73522812fdf10d97767245eec29e0725e3cd3d Mon Sep 17 00:00:00 2001 From: bamboo Date: Sat, 14 Sep 2019 00:59:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E3=80=901901010132=E3=80=91=E8=87=AA?= =?UTF-8?q?=E5=AD=A6=E8=AE=AD=E7=BB=83=E8=90=A5=E5=AD=A6=E4=B9=A02?= =?UTF-8?q?=E7=BE=A4=20DAY9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @liujiayi0042 作业已完成 --- exercises/1901010132/day9/main.py | 8 ++++ .../1901010132/day9/mymodule/stats_word.py | 42 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 exercises/1901010132/day9/main.py create mode 100644 exercises/1901010132/day9/mymodule/stats_word.py diff --git a/exercises/1901010132/day9/main.py b/exercises/1901010132/day9/main.py new file mode 100644 index 000000000..e2040b402 --- /dev/null +++ b/exercises/1901010132/day9/main.py @@ -0,0 +1,8 @@ +from mymodule import stats_word +import json + +with open(r'\Users\Administrator\Documents\GitHub\selfteaching-python-camp\exercises\1901010132\day9\tang300.json',encoding='UTF-8') as f: + text=f.read() + + +stats_word.stats_text_cn(text, 100) \ No newline at end of file diff --git a/exercises/1901010132/day9/mymodule/stats_word.py b/exercises/1901010132/day9/mymodule/stats_word.py new file mode 100644 index 000000000..7a3c0ab41 --- /dev/null +++ b/exercises/1901010132/day9/mymodule/stats_word.py @@ -0,0 +1,42 @@ +text= ''' +"Her eyes beginning to water, she went on, +"So I would like you all to make me a promise: +from now on, on your way to school, +or on your way home, find something beautiful +to notice. It doesn' t have to be something you +see -it could be a scent perhaps of freshly +baked bread wafting out of someone 's house, +or it could be the sound of the breeze +slightly rustling the leaves in the trees, +or the way the morning light catches one +autumn leaf as it falls gently to the ground. +Please, look for these things, and remember them." +  她的眼睛开始湿润了,她接着说因此我想让你们每个人答应我: +从今以后,在你上学或者放学的路上,要发现一些美丽的事物。 +它不一定是你看到的某个东西——它可能是一种香味—— +也许是新鲜烤面包的味道从某一座房里飘出来,也许是微风轻拂树叶的声音, +或者是晨光照射在轻轻飘落的秋叶上的方式。请你们寻找这些东西并且记住它们吧。 +''' +import re +import collections +count=int() +def stats_text_en(text,count): + if type(text)!=str: + raise ValueError("文本为非字符串") + text=re.sub('[^a-zA-Z]','',text.strip()) #表示所有非英文字母 + text=text.split() + print(collections.Counter(text).most_common(count)) + +def stats_text_cn(text,count): #定义检索中文函数 + if type(text)!=str: + raise ValueError("文本为非字符串") + text=re.sub('[^\u4e00-\u9fa5]','',text) #[^\u4e00-\u9fa5]表示所有非中文 + text=' '.join(text) + text=text.split() + print(collections.Counter(text).most_common(count)) + +def stats_word(text,count): #定义函数,实现统计汉字和英文单词出现次数 + if type(text)!=str: + raise ValueError("文本为非字符串") + stats_text_en(text,count) + stats_text_cn(text,count) From eaed52c9c708e2e40ce95700fc2bfa18b009a291 Mon Sep 17 00:00:00 2001 From: bamboo Date: Sun, 15 Sep 2019 19:03:45 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E3=80=901901010132=E3=80=91=E8=87=AA?= =?UTF-8?q?=E5=AD=A6=E8=AE=AD=E7=BB=83=E8=90=A5=E5=AD=A6=E4=B9=A02?= =?UTF-8?q?=E7=BE=A4=20DAY10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @liujiayi0042 作业已完成 --- exercises/1901010132/day10/main.py | 9 ++++ .../1901010132/day10/mymodule/stats_word.py | 50 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 exercises/1901010132/day10/main.py create mode 100644 exercises/1901010132/day10/mymodule/stats_word.py diff --git a/exercises/1901010132/day10/main.py b/exercises/1901010132/day10/main.py new file mode 100644 index 000000000..beaccbf9d --- /dev/null +++ b/exercises/1901010132/day10/main.py @@ -0,0 +1,9 @@ +from mymodule import stats_word +import json + +with open(r'\Users\Administrator\Documents\GitHub\selfteaching-python-camp\exercises\1901010132\day10\tang300.json',encoding='UTF-8') as f: + read_date = f.read() +try: + print('统计前20的词频数: \n',stats_word.stats_text_cn(read_date,20)) +except ValueError as e: + print(e) \ No newline at end of file diff --git a/exercises/1901010132/day10/mymodule/stats_word.py b/exercises/1901010132/day10/mymodule/stats_word.py new file mode 100644 index 000000000..699c602ef --- /dev/null +++ b/exercises/1901010132/day10/mymodule/stats_word.py @@ -0,0 +1,50 @@ +text= ''' +"Her eyes beginning to water, she went on, +"So I would like you all to make me a promise: +from now on, on your way to school, +or on your way home, find something beautiful +to notice. It doesn' t have to be something you +see -it could be a scent perhaps of freshly +baked bread wafting out of someone 's house, +or it could be the sound of the breeze +slightly rustling the leaves in the trees, +or the way the morning light catches one +autumn leaf as it falls gently to the ground. +Please, look for these things, and remember them." +  她的眼睛开始湿润了,她接着说因此我想让你们每个人答应我: +从今以后,在你上学或者放学的路上,要发现一些美丽的事物。 +它不一定是你看到的某个东西——它可能是一种香味—— +也许是新鲜烤面包的味道从某一座房里飘出来,也许是微风轻拂树叶的声音, +或者是晨光照射在轻轻飘落的秋叶上的方式。请你们寻找这些东西并且记住它们吧。 +''' +import re +import collections +import jieba #结巴中文分词 +count=int() +def stats_text_en(text,count): + if type(text) == str: + b=re.sub(r'[^A-Za-z]',' ',text) + list1=b.split() + return(collections.Counter(list1).most_common(count)) + else: + raise ValueError('文本为非字符串') + +def stats_text_cn(text,count): + if not isinstance(text,str): + raise ValueError('文本为非字符串') + p=re.compile(u'[\u4e00-\u9fa5]') + a=re.findall(p,text) + str2=''.join(a) + seg_list = jieba.cut(str2,cut_all=False) #jieba.cut返回的结构是一个可迭代的生成器generator + newlist=[] + for i in seg_list: + if len(i) >= 2: + newlist.append(i) + return(collections.Counter(newlist).most_common(count)) + +def stats_text(text,count): + if not isinstance(text,str): + raise ValueError('文本为非字符串') + stats_text_cn(text,count) + stats_text_en(text,count) +stats_text(text,count) From a101b0a118582b686ee45ff127c0582a3e305bab Mon Sep 17 00:00:00 2001 From: bamboo Date: Tue, 17 Sep 2019 22:55:43 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E3=80=901901010132=E3=80=91=E8=87=AA?= =?UTF-8?q?=E5=AD=A6=E8=AE=AD=E7=BB=83=E8=90=A5=E5=AD=A6=E4=B9=A02?= =?UTF-8?q?=E7=BE=A4=20DAY11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @liujiayi0042 作业已完成 --- exercises/1901010132/day11/main.py | 27 ++++++++++ .../1901010132/day11/mymodule/stats_word.py | 50 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 exercises/1901010132/day11/main.py create mode 100644 exercises/1901010132/day11/mymodule/stats_word.py diff --git a/exercises/1901010132/day11/main.py b/exercises/1901010132/day11/main.py new file mode 100644 index 000000000..c8112f33c --- /dev/null +++ b/exercises/1901010132/day11/main.py @@ -0,0 +1,27 @@ +import requests +import pyquery +from pyquery import PyQuery +from mymodule import stats_word +import getpass +import yagmail +# 抓取网页 +r = requests.get('https://mp.weixin.qq.com/s/pLmuGoc4bZrMNl7MSoWgiA') + +# 提取正文 +document = PyQuery(r.text) +content = document('#js_content').text() +print(content) + +#词频统计并转为str类型 +#wordString = ''.join(str(i) for i in wordList) +word_list = stats_word.stats_text_cn(content,100) +word_str = str(word_list) #转换成str类型 +print(word_str) + +#发送统计结果到指定邮箱 +sender = input('请输入发件人邮箱:') +psw = getpass.getpass() #授权码 +recipients = input('输入收件人邮箱:') #指定邮箱pythoncamp@163.com +smtp = "smtp.qq.com" #服务器地址 + +yagmail.SMTP(sender,psw,smtp).send(recipients,'【1901010132】自学训练营学习2群DAY11 bamboo',word_str) \ No newline at end of file diff --git a/exercises/1901010132/day11/mymodule/stats_word.py b/exercises/1901010132/day11/mymodule/stats_word.py new file mode 100644 index 000000000..699c602ef --- /dev/null +++ b/exercises/1901010132/day11/mymodule/stats_word.py @@ -0,0 +1,50 @@ +text= ''' +"Her eyes beginning to water, she went on, +"So I would like you all to make me a promise: +from now on, on your way to school, +or on your way home, find something beautiful +to notice. It doesn' t have to be something you +see -it could be a scent perhaps of freshly +baked bread wafting out of someone 's house, +or it could be the sound of the breeze +slightly rustling the leaves in the trees, +or the way the morning light catches one +autumn leaf as it falls gently to the ground. +Please, look for these things, and remember them." +  她的眼睛开始湿润了,她接着说因此我想让你们每个人答应我: +从今以后,在你上学或者放学的路上,要发现一些美丽的事物。 +它不一定是你看到的某个东西——它可能是一种香味—— +也许是新鲜烤面包的味道从某一座房里飘出来,也许是微风轻拂树叶的声音, +或者是晨光照射在轻轻飘落的秋叶上的方式。请你们寻找这些东西并且记住它们吧。 +''' +import re +import collections +import jieba #结巴中文分词 +count=int() +def stats_text_en(text,count): + if type(text) == str: + b=re.sub(r'[^A-Za-z]',' ',text) + list1=b.split() + return(collections.Counter(list1).most_common(count)) + else: + raise ValueError('文本为非字符串') + +def stats_text_cn(text,count): + if not isinstance(text,str): + raise ValueError('文本为非字符串') + p=re.compile(u'[\u4e00-\u9fa5]') + a=re.findall(p,text) + str2=''.join(a) + seg_list = jieba.cut(str2,cut_all=False) #jieba.cut返回的结构是一个可迭代的生成器generator + newlist=[] + for i in seg_list: + if len(i) >= 2: + newlist.append(i) + return(collections.Counter(newlist).most_common(count)) + +def stats_text(text,count): + if not isinstance(text,str): + raise ValueError('文本为非字符串') + stats_text_cn(text,count) + stats_text_en(text,count) +stats_text(text,count)