光是数据不展示粗来,怎么能一目了然呢?因此今天以百度“AI”这个关键词为例子,搜集搜索结果相关网站中的网页内容,用matplotlib+wordcloud实现生成词云图。
我们首先瞧一瞧百度搜索“AI”的是什么,https://www.baidu.com/s?wd=AI,结果发现基本由Artificial Intelligence人工智能的AI、Adobe Illustrator绘图工具的AI、“爱”的拼音等其他信息构成。其中除了人工智能方面以外的信息都是需要剔除的。
因此我们主要的思路是:采集数据→筛选→统计词频→生成词云图。
前期准备
下载好 urllib、BeautifulSoup、re正则表达式、matplotlib绘图、jieba分词、wordcloud词云、PIL、numpy数据处理这几个库并引用。
初写大纲
先来写个大纲版的,只有采集数据→词云图这两个简单的步骤。
数据采集部分:
需要进入到百度搜索出的结果里,爬取其中包含AI的页面内容。
from urllib import request
import urllib.parse
from bs4 import BeautifulSoup
import re
import random
import datetime
def getLinks(url):
html = request.urlopen(url)
bsObj = BeautifulSoup(html, "html.parser")