結巴分詞與詞雲,簡單爬蟲——(python)


 bilibili彈幕詞雲

 

 

                                                                      

                                                              美國歷史詞雲

JIEBA分詞      

import jieba

txt=" **** "

精確模式:                                全模式:                                                               搜索模式:

res = jieba.cut(txt)                     res =jieba.cut(txt ,cut_all=True)                            res=jieba.cut_for_search(txt)

 for i in res:                                for i in res:                                                             for i in res:

 print(i)                                       print(i)                                                                   print(i)

或者

res = jieba.lcut(txt)                    res=jieba.lcut(txt,cut_all=True)                             res=jieba.lcut_for_search(txt)

print(res)     

 

詞雲

1.小段文字的詞雲

from wordcloud import WordCloud

import matplotlib.pylot as plt

from imageio import imread

 

txt="小段文字"

color_mask=imread('圖片路徑')

wc=WordCloud(

 width: ** ,

 height: ** ,

 background_color: ** ,

 font_path:r'c:\windows\Fonts\***',

 mask=color_mask

)

 wc.generate( txt )

 wc.to_file('cy.pg')

 plt.imshow(wc)

 plt.show()

 

2.文本文件的詞雲

from wordcloud import WordCloud 

import matplotlib.pylot as plt

from imageio import imread

f.open('文本文件名.txt',encoding='utf8')

data=f.read

result="".join(jieba.lcut(data))

color_mask=imread('圖片名.jpg')

wc=WordCloud(

height:**,

width:**,

font_path=r'c:\windows\Fonts\***',

mask=color_mask

)

wc.generate(result)

wc.to_file('圖片名.png')

plt.imshow(wc)

plt.show()

 

 

案例()

1.爬取bilibili彈幕

import requests

from bs4 import BeautifulSoup

import pandas as pd

imort datetime

import re

 

header={

 'User-Agent':'*********'

}

url='http:\\comment.bilibili.com/codecid.xml'

#向對方服務器發送請求 response=requests.get(url=url,headers=header)

#設置字符碼 response.encoding = response.apparent_encoding

#獲取文本 data=response.txt

#解析 soup=BeautifulSoup(data,'lxml')

#獲取所有的d標簽 d_list=soup.find_all('d')

dlist[]

#循環所有的d標簽 for d in d_list:

                      danmu={}

                      danmu['彈幕']=d.txt #獲取文本信息

                      danmu['時間']=datetime.datetime.now()

                      danmu['地址']=url

                      dlist.append(danmu)

#轉換為二維數組,類似於excel表格 df=pd.DataFrame(dlist)

f=open('sign.txt','w',encoding='utf8')#打開文件

#循環所有的文件信息 for i in df['彈幕'].values:

                        pat=re.compile(r'[一-龥]+')#定義過濾的規則(所有的漢字)

                        filter_data=re.findall(pattern=pat,string=i)#執行過濾操作

                        f.write("".join(filter_data))#寫入文本

f.close()

 

                        

 

2.bilibili彈幕分析

import jieba

from wordcloud import WordCloud

import matplotlib.pylot as plt

from imageio import imread

 

f=open('sign.txt','r',encoding='utf8')

data=f.read()

result="".join(jieba.lcut(data))

f.close

 

color_mask=imread('圖片名稱.jpg')

 

wc=WordCloud(

height=***,

width=***,

background_color='**',

font_path=r'c:\windows\Fonts\***',

mask=color_mask

 

)

wc.generate(result)

wc.to_file('bilibili.png')

plt.imshow(wc)

plt.show()

 

 


                                                                ————————godlover

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM