使用python爬取近两天的微博热搜,并进行分词,生成词云图。
时间: 2023-09-24 16:11:35 浏览: 129
好的,我可以为您提供一些代码参考:
首先,需要安装必要的库,包括 requests、BeautifulSoup4、jieba和wordcloud。可以使用以下命令进行安装:
```
pip install requests
pip install beautifulsoup4
pip install jieba
pip install wordcloud
```
然后,使用 requests 库获取微博热搜的页面内容,使用 BeautifulSoup4 库解析页面内容,获取热搜排行榜的内容。代码如下:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://s.weibo.com/top/summary?cate=realtimehot'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
hot_list = soup.select('.td-02')
hot_words = []
for hot in hot_list:
hot_words.append(hot.text.strip())
```
接下来,使用 jieba 库对热搜词进行分词,可以使用如下代码:
```python
import jieba
seg_list = []
for hot_word in hot_words:
seg_list += jieba.cut(hot_word, cut_all=False)
```
最后,使用 wordcloud 库生成词云图,代码如下:
```python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
text = ' '.join(seg_list)
wc = WordCloud(width=800, height=600, background_color='white', font_path='msyh.ttc')
wc.generate(text)
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
```
这样就可以生成微博热搜的词云图了。完整代码如下:
阅读全文