简单词云制作流程

*词云制作
目的:爬取前100名大学并且制作词云
1.使用存储数据库为MongoDB数据库,创建代码如下:

class bug(object):
    clent=pymongo.MongoClient("Localhost",27017)
    zhongji=clent.zhongji    bug=zhongji["bug"]
    spider1=bug["spider1"]    
    infolist2=[]    
    infolist1=[]

2.获取数据:
数据地址:http://www.gaosan.com/gaokao/196075.html
使用request,Beautifulsoup方法爬取,代码如下:

def get_url(self):
    kv={"user-agent":"Moizlla/5.0"}
    url="http://www.gaosan.com/gaokao/196075.html"
    r=requests.get(url, headers=kv) 
    r.encoding='utf-8'  
    print(r.status_code)       
    print(r.encoding)        
    return r.text    
def anay_html(self,html):
    soup=BeautifulSoup(html,'html.parser')        
    passage=soup.find("body").find("div",attrs={"class":"content"}).find("div",attrs={"class":"c_left"}).find("tbody")        
    name_list=passage.find_all("tr")        
    for info in name_list:
        name=info.find_all("td")[1].string 
        grade=info.find_all("td")[2].getText()                      
        bug.infolist2.append(name)
        spider.insert_one(name)#添加数据到MongoDB
        

3.因数据比较干净,不必进行数据清洗,删除第一个元素‘学校名称’即可
并且使用worldcloud进行绘制,matplotlib 进行展示 代码如下:

 def show(self,text):        
     del text[0]        
     text=str(text)        
     wordCloud=WordCloud(font_path='simkai.ttf',background_color='white',width=2500,height=1200,font_step=1,margin=2).generate(text)        
     plt.imshow(wordCloud)        
     plt.axis='off'        
     plt.show()
   

4.总结
所用第三方库如下:

from bs4 import BeautifulSoup
import requests
import matplotlib.pyplot as plt 
import pymongo
from wordcloud import WordCloud, STOPWORDS

展示效果图如下:
数据库展示:
简单词云制作流程_第1张图片
词云效果图:
简单词云制作流程_第2张图片

爬取了前100所大学的名字,存储到MongoDB库中防止丢失,利用worldcloud,matplotlib 进行绘图和展示,虽然爬取的内容较少且简单,但是流程基本完整。

你可能感兴趣的:(爬虫)