Python爬蟲分析微博熱搜關鍵詞的實現(xiàn)代碼
更新時間:2021年02月22日 10:15:41 作者:北晨lpl
這篇文章主要介紹了Python爬蟲分析微博熱搜關鍵詞的實現(xiàn)代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
1,使用到的第三方庫
requests
BeautifulSoup 美味湯
worldcloud 詞云
jieba 中文分詞
matplotlib 繪圖
2,代碼實現(xiàn)部分
import requests
import wordcloud
import jieba
from bs4 import BeautifulSoup
from matplotlib import pyplot as plt
from pylab import mpl
#設置字體
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
url = 'https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6'
try:
#獲取數(shù)據(jù)
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
soup = BeautifulSoup(r.text,'html.parser')
data = soup.find_all('a')
d_list = []
for item in data:
d_list.append(item.text)
words = d_list[4:-11:]
#中文分詞
result = list(jieba.cut(words[0]))
for word in words[1::]:
result.extend(jieba.cut(word))
redata = []
for it in result:
if len(it) <= 1:
continue
else:
redata.append(it)
result_str = ' '.join(redata)
#輸出詞云圖
font = r'C:\Windows\Fonts\simhei.ttf'
w = wordcloud.WordCloud(font_path=font,width=600,height=400)
w.generate(result_str)
w.to_file('微博熱搜關鍵詞詞云.png')
key = list(set(redata))
x,y = [],[]
#篩選數(shù)據(jù)
for st in key:
count = redata.count(st)
if count <= 1:
continue
else:
x.append(st)
y.append(count)
x.sort()
y.sort()
#繪制結果圖
plt.plot(x,y)
plt.show()
except Exception as e:
print(e)
3,運行結果


到此這篇關于Python爬蟲分析微博熱搜關鍵詞的文章就介紹到這了,更多相關Python爬蟲微博熱搜內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
pandas進行時間數(shù)據(jù)的轉換和計算時間差并提取年月日
這篇文章主要介紹了pandas進行時間數(shù)據(jù)的轉換和計算時間差并提取年月日,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07
Python3利用Dlib實現(xiàn)攝像頭實時人臉檢測和平鋪顯示示例
這篇文章主要介紹了Python3利用Dlib實現(xiàn)攝像頭實時人臉檢測和平鋪顯示示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-02-02

