python基础预热第四课

实例1:

三国演义top10人物分析

import jieba
from wordcloud import WordCloud
import imageio
#读取文件
mask = imageio.imread('china.jpg')
with open('novel/threekingdom.txt','r',encoding='UTF-8') as f:
    data = f.read()

    #分词
    words_list = jieba.lcut(data)
    print(words_list)

    #构建一个集合,定义无关词
    excludes = {"将军","却说","二人","不可","荆州","不能","如此","丞相","商议",
                "如何","主公","军士","军马","左右","次日","引兵","大喜","天下","东吴","于是","今日"
        ,"不敢","魏兵","陛下","都督","人马","不知","孔明曰","玄德曰","云长","刘备"}

    #构建一个容器,存储我们要的数据
    #{"夏侯渊":34,"害怕":33....}
    counts = {}
    #遍历word_list 目标是筛选出人名
    for word in words_list:
        #print(word)
        if len(word)<= 1:
        #过滤无关词语即可
            continue
        else:
        #向字典counts里更新值
        #counts[word]=字典里原来该次出现的次数 + 1
        # counts[word] = counts[word] + 1
        # counts["正文"] = counts["正文"] + 1
            counts[word] = counts.get(word,0) + 1
    # print(counts)

    #将指向同一个人的词进行合并
    counts['孔明'] = counts['孔明'] + counts['孔明曰']
    counts['玄德'] = counts['玄德'] + counts['玄德曰'] + counts['刘备']
    counts['关公'] = counts['关公'] + counts['云长']
    #删无关词
    for word in excludes:
        del counts[word]

    #排序筛选
    #吧字典转化成列表[(),()] [{},{}]
    items = list(counts.items())
    #按照词频次数进行排序
    items.sort(key=lambda x:x[1],reverse=True)

    #显示出现词语前10的词
    #role_list = []
    # role_list = ["孔明","孔明",。。。]
    role_list = []
    for i in range(10):
        #将返回的数据拆开,拆包
        #print(items[i])
        role,count = items[i]
        print(role,count)
        #i临时文件如果不需要的话可以写成_
        #优点是让读代码的人能够清晰的知道此处不需要使用i
        for _ in range(count):
            role_list.append(role)
    print(role_list)
    #将列表变成字符串
    #text = "孔明 孔明 孔明 孔明...刘备 刘备 刘备 曹操 曹操"
    text= " ".join(role_list)
    print(text)
    #展示

    WordCloud(
        background_color='white',
        mask=mask,
        font_path='msyh.ttc',
        #是否包含两个词的搭配 设置为false即可
        collocations=False
        ).generate(text).to_file('三国人物前十展示.png')
三国人物前十展示.png

实例2:

红楼梦人物top10分析

import jieba
from wordcloud import WordCloud
import imageio
#读取
mask=imageio.imread('china.jpg')
with open('novel/hongloumeng.txt','r',encoding='UTF-8') as f:
    data = f.read()
    #分词
    words_list = jieba.lcut(data)
    print(words_list)
    #构建一个集合,输入无关词
    excludes = {'什么','一个','我们','你们','如今','说道','知道','姑娘','起来',
                '这里','出来','众人','那里','奶奶','自己','太太','一面','只见','两个',
                '两个','怎么','不是','不知','这个','听见','这样','进来','咱们','就是',
                '没有','东西','告诉','回来','只是','大家','老爷','只得','丫头',
               '这些','他们','不敢','出去','所以','宝二爷','老太太','王熙凤',
                '姨太太','林黛玉','林妹妹','薛宝钗','贾宝玉'
                }
    #创建字典
    counts = {}
    #筛选并增加字典
    for word in words_list:
        if len(word) < 2:
            continue
        else:
            counts[word] = counts.get(word,0) + 1
    #合并词
    counts['宝玉'] =counts['宝玉']+ counts['贾宝玉'] +counts['宝二爷']
    counts['贾母'] = counts['贾母']+counts['老太太']
    counts['凤姐'] = counts['凤姐']+counts['王熙凤']
    counts['薛姨妈'] =counts['薛姨妈']+ counts['姨太太']
    counts['黛玉'] = counts['黛玉']+counts['林黛玉'] + counts['林妹妹']
    counts['宝钗'] =counts['宝钗']+ counts['薛宝钗']
    #删除无关词
    for word in excludes:
        del counts[word]
    #排序(列表排序)
    #字典转换成列表
    items = list(counts.items())
    #按照词出现的频数排序
    items.sort(key=lambda x:x[1],reverse=True)
    print(items)
    #显示出现词语前10的词(经过多次前20的运行,最后得出10个)
    #建立一个列表
    role_list=[]
    for i in range(10):
        #将返回的数据拆开,变成列表
        role,count = items[i]
        print(role,count)
        #将返回数据拆开,并将role放到role_list列表中
        for _ in range(count):
            role_list.append(role)
    print(role_list)
    #将列表变成字符串
    text = " ".join(role_list)
    print(text)

    #展示成词云
    WordCloud(
        background_color='white',
        mask=mask,
        font_path='msyh.ttc',
        collocations=False
    ).generate(text).to_file('红楼梦人物前十展示.png')
红楼梦人物前十展示

爬虫

爬虫需要的技术栈

-APP爬虫==》处理
-基础爬虫模块==》
1、requests
2、lxml
3、beautifulsoup
4、正则表达式
-scrapy 爬虫框架==》mogodb等nosql数据库

浏览器

1、HTML==>结构+骨架

HTML:超文本标记语言;特点:标签形式存在(大多数以标签对)

2、css==》美化(以后会用到css属性)
3、javascript==》动态(解释型语言:运行解释;还有另外一种叫编译语言:先编译)

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--<h1>欢迎来到王者荣耀</h1>
标题标签,和我们学的markdown中的# 是一个意思
<h2>欢迎来到王者荣耀</h2>
<p>adssafasgsh</p>
-->
<!--<h1>习近平主持中央政治局会议 讨论拟提请十九届四中全会审议的文件</h1>-->
<!--<hr>-->
<!--<p>2019年10月24日 14:25 新华网</p>-->
<!--<hr>-->

<!--<p>  原标题:中共中央政治局召开会议 讨论拟提请十九届四中全会审议的文件 <br>-->
<!--    <br>新华社北京10月24日电 中共中央政治局10月24日召开会议,研究坚持和完善中国特色社会主义制度、推进国家治理体系和治理能力现代化若干重大问题。中共中央总书记习近平主持会议。</p>-->
<!--<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1571915434777&di=1534151ba73e9c501ce635676b287d5f&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F01aec558ad2b0fa801219c77a938ce.jpg%40900w_1l_2o_100sh.jpg" alt="图片不见了"><br>-->
<!--<br><img src="./image/timg.jpg" alt="图片不见了">-->


<!--<ul>-->
<!--    <li>鲁班大师</li>-->
<!--    <li>狄仁杰</li>-->
<!--</ul>-->
<!--<ol>-->
<!--    <li>米莱狄</li>-->
<!--    <li>后裔</li>-->
<!--</ol>-->

<!--<div>爬虫的学习先要了解网页标签结构</div>王者荣耀-->

<!--&lt;!&ndash;<div>爬虫的学习先要了解网页标签结构</div>王者荣耀&ndash;&gt;-->
<!--&lt;!&ndash;<div></div>&ndash;&gt;-->
<!--&lt;!&ndash;<div>王者荣耀</div>&ndash;&gt;-->


<!--<div>-->
<!--    <p>王者荣耀</p>-->
<!--    <img src="./image/timg.jpg" alt="图片不见了">-->
<!--&lt;!&ndash;    a标签用于链接&ndash;&gt;-->
<!--    <a href="http://www.baidu.com">点击跳转至东软官网</a>-->
<!--</div>-->

实现点击鲁班七号或者他的头像,都可跳转该英雄的详细介绍页
<li>
<a href="https://pvp.qq.com/web201605/herodetail/112.shtml">
    <img src="./image/112.jpg" alt="">
    鲁班大师
</a>
</li>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343