1.选一个自己感兴趣的主题。
2.用python 编写爬虫程序,从网络上爬取相关主题的数据。
3.对爬了的数据进行文本分析,生成词云。
4.对文本分析结果进行解释说明。
5.写一篇完整的博客,描述上述实现过程、遇到的问题及解决办法、数据分析思想及结论。
6.最后提交爬取的全部数据、爬虫及数据分析源代码。
import requests,jieba from bs4 import BeautifulSoup import re import matplotlib.pyplot as plt from wordcloud import WordCloud #网站 慕课网 url = "https://www.imooc.com/course/list" resDescript = requests.get(url) resDescript.encoding = "utf-8" soupDescript = BeautifulSoup(resDescript.text, 'html.parser') #全局变量 n =1 m =1 notelist = "" #错误词汇 delete_word={'使','D','b','e','f','t','C','的','o',',','a','A','n','S','y','i','了','。',' ','!','端','小','-','、','(','你' ,'并',''} #分析数据的方向、类型、类别 for s in soupDescript.select(".course-nav-item.on"): if n == 1 : print("方向:" + s.text) elif n ==2:print("类型:" + s.text) elif n ==3:print("类别:"+s.text) n = n+1 #分析数据的受欢迎类型、难度 for q in soupDescript.select(".sort-item.active"): if m == 1 : print("受欢迎类型:"+q.text) else: print("难度:"+q.text) m=m+1 #挖掘课程的相关信息 for content in soupDescript.select(".course-card-container"): img = content.select(".course-banner.lazy")[0].attrs["src"][2:] name = content.select(".course-card-name")[0].text desc = content.select(".course-card-desc")[0].text notelist += desc notelist+=name print("图片链接:"+img) print("课程名字:"+name) print("简介:"+desc) print("\n") #jieba分析词语 newList=list(jieba.lcut(notelist)) NoteDic={} for i in set(newList): #计算次数 NoteDic[i]=newList.count(i) for i in delete_word: #删除非法词汇 if i in NoteDic: del NoteDic[i] #进行排序 sort_word = sorted(NoteDic.items(), key = lambda d:d[1], reverse = True) # 由大到小排序 #输出效果 print(sort_word) wl_space_split = " ".join(sort_word) my_wordcloud = WordCloud().generate(wl_space_split) plt.imshow(my_wordcloud) plt.axis("off") plt.show()