博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个完整的大作业
阅读量:6672 次
发布时间:2019-06-25

本文共 1947 字,大约阅读时间需要 6 分钟。

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

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

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

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

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

 

我选择主题是游戏资讯,爬取的网站是:http://www.gamersky.com/news/

 

 爬取此网页中一些游戏新闻标题、发布时间、来源以及地址:

import requestsfrom bs4 import BeautifulSoupfrom datetime import datetimeimport reurl = 'http://www.gamersky.com/news/'res = requests.get(url)res.encoding='utf-8'   soup=BeautifulSoup(res.text,'html.parser')for news in soup.select('.Mid2L_con'):    for news2 in news.select('li'):        if len(news2)>0:            title=news2.select('.tt')[0]['title']            url=news2.select('.tt')[0]['href']            time=news2.select('.time')[0].text                        print('标题:',title)            print('链接:',url)            print('时间:',time)

 

效果如下图所示:

 

进行文本分析,生成词云:

import requestsimport jiebafrom bs4 import BeautifulSoupimport reurl = 'http://www.gamersky.com/news/'res = requests.get(url)res.encoding='utf-8'   soup=BeautifulSoup(res.text,'html.parser')for news in soup.select('.Mid2L_con'):    for news2 in news.select('li'):        if len(news2)>0:            title=news2.select('.tt')[0]['title']            url=news2.select('.tt')[0]['href']            resd=requests.get(url)            resd.encoding='utf-8'            soupd=BeautifulSoup(resd.text,'html.parser')            p = soupd.select('p')[0].text            #print(p)            break            words = jieba.lcut(p)ls = []counts = {}for word in words:    ls.append(word)    if len(word) == 1:        continue    else:        counts[word] = counts.get(word,0)+1items = list(counts.items())items.sort(key = lambda x:x[1], reverse = True)for i in range(10):    word , count = items[i]    print ("{:<5}{:>2}".format(word,count))from wordcloud import WordCloudimport matplotlib.pyplot as plt    cy = WordCloud(font_path='msyh.ttc').generate(p)#wordcloud默认不支持中文,这里的font_path需要指向中文字体plt.imshow(cy, interpolation='bilinear')plt.axis("off")plt.show()

 

效果如下图所示:

 

转载于:https://www.cnblogs.com/knight-hui/p/7717714.html

你可能感兴趣的文章
Appium+python自动化9-SDK Manager
查看>>
RDLC系列之五 初试XAML
查看>>
Redis配置文件之————redis.conf配置及说明
查看>>
PHP Ajax JavaScript 实现 无刷新附件上传
查看>>
Git错误提示之:fatal: Not a git repository (or any of the parent directories): .git
查看>>
122.2. varnish utility
查看>>
在win7主机上为你的linux虚拟机配置ntp服务
查看>>
解析MYSQL BINLOG 二进制格式(2)--FORMAT_DESCRIPTION_EVENT
查看>>
Oracle 12c DBCA浅析(r12笔记第48天)
查看>>
MYSQL INNODB innodb_thread_concurrency相关参数理解
查看>>
SQL优化常用方法16
查看>>
Oracle并行操作——并行DML操作
查看>>
[转]Django Practice - Django 权限控制
查看>>
Raid5数据恢复原理_两块盘离线数据恢复方法
查看>>
缓存之EHCache(转)
查看>>
FirewallD 详解
查看>>
码农和程序员之间的5个关键差异(转)
查看>>
RocksDB TransactionDB事务实现分析
查看>>
Web---自己写的一个简单云相册~
查看>>
SQLServer RESOURCE_SEMAPHORE 等待状态
查看>>