• 一个完整的大作业


     

    大作业 

    内容要求

    1.选一个自己感兴趣的主题。

    2.   网络上爬取相关的数据。

    3.进行文本分析,生成词云。

    4.对文本分析结果解释说明。

    5.写一篇完整的博客,附上源代码、数据爬取及分析结果,形成一个可展示的成果。

    1、选择网址http://news.hexun.com/2017-10/31/191451193.html,爬取---【党章修改了哪些?专家帮你圈重点】这篇文章的信息。如图1所示:

     图1:选取的文章

    2、按F2调出文章的代码信息,通过查看代码内容爬取【党章修改了哪些?专家帮你圈重点】的内容。如图2所示:

    图2:调出代码信息 

    3、编写爬取【党章修改了哪些?专家帮你圈重点】的信息内容代码,如下代码所示:

    import requests
    from bs4 import BeautifulSoup
    import jieba

    def get(url):
    res = requests.get(url)
    res.encoding='gb2312'
    soup = BeautifulSoup(res.text,'html.parser')

    title=soup.select('title')[0].text
    new=soup.select('.art_contextBox')[0].text
    time=soup.select('.pr20')[0].text

    print('标题:',title,' 时间:',time,' 内容:',new)

    words = jieba.lcut(new)
    ls = []
    counts = {}
    for word in words:
    ls.append(word)
    if len(word) == 1:
    continue
    else:
    counts[word] = counts.get(word,0)+1

    items = list(counts.items())
    items.sort(key = lambda x:x[1], reverse = True)
    for i in range(20):
    word , count = items[i]
    print ("{:<10}{:>5}".format(word,count))
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    w=" ".join(words)

    wc=WordCloud().generate(w)

    plt.imshow(wc)
    plt.axis("off")
    plt.show()

    newurl = 'http://news.hexun.com/2017-10-31/191451193.html'
    print(get(newurl))

    4、通过编写源代码后,爬取到了文章的具体内容。如图3所示:

    图3:爬取文章内容

    5、爬取到数据之后对数据进行分析和统计,通过使用jieba库,进行中文词频统计,输出的词及出现次数。如下源代码所示:

    import requests
    from bs4 import BeautifulSoup
    import jieba

    def get(url):
    res = requests.get(url)
    res.encoding='gb2312'
    soup = BeautifulSoup(res.text,'html.parser')
    new=soup.select('.art_contextBox')[0].text

    words = jieba.lcut(new)
    ls = []
    counts = {}
    for word in words:
    ls.append(word)
    if len(word) == 1:
    continue
    else:
    counts[word] = counts.get(word,0)+1

    items = list(counts.items())
    items.sort(key = lambda x:x[1], reverse = True)
    for i in range(20):
    word , count = items[i]
    print ("{:<10}{:>5}".format(word,count))
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    w=" ".join(words)     #键入空格以生成词云

    wc=WordCloud().generate(w)

    plt.imshow(wc)

    plt.axis("off")
    plt.show()

    newurl = 'http://news.hexun.com/2017-10-31/191451193.html'
    print(get(newurl))

    6、通过编写代码后,获取到了中文词频统计。如下图4所示:

    图4:中文词频统计 

    7、最后将这些数据做成词云,如图5所示:

    图5:成功绘制出词云。

    8、总结

    从生成的词云中,我们可以看出【党章修改了哪些?专家帮你圈重点】这篇文章的重点出现的是“建设、”“中国特色”、“特色社会主义”、“党章”、“发展”等词汇。所以,我们可以猜测出这篇文章主要是讲一些关于中国特色社会主义建设的内容。

  • 相关阅读:
    python学习-(__new__方法和单例模式)
    jQuery弹性展开收缩菜单插件gooey.js
    轻量级Modal模态框插件cta.js
    基于jq流畅度非常好的图片左右切换焦点图
    基于jQuery实现的腾讯互动娱乐网站特效
    基于jQuery和CSS3炫酷图片3D旋转幻灯片特效
    可嵌入图片视频jQuery全屏滑块
    基于jQuery仿迅雷影音官网幻灯片特效
    基于jQuery自适应宽度跟高度可自定义焦点图
    基于jQuery实现汉字转换成拼音代码
  • 原文地址:https://www.cnblogs.com/001688yzl/p/7758123.html
Copyright © 2020-2023  润新知