Python爬虫,看看我最近博客都写了啥,带你制作高逼格的数据聚合云图
2017-04-16 21:49
766 查看
转载请标明出处:
http://blog.csdn.net/forezp/article/details/70198541
本文出自方志朋的博客
今天一时兴起,想用python爬爬自己的博客,通过数据聚合,制作高逼格的云图(对词汇出现频率视觉上的展示),看看最近我到底写了啥文章。
我最近写了SpringCloud系列教程,还有一些微服务架构方面,从云图上看,基本吻合。你若不信,可以进我的博客看看,数据还是非常准确的
爬虫技术:bs64、requsts、jieba
分析工具:wordArt
整个爬虫架构非常简单:
爬取我的博客:http://blog.csdn.net/forezp
获取数据
将数据用“结巴”库,分词。
将得到的数据在在artword上制作云图。
将制作出来的云图展示给用户。
解析标题
解析摘要:
用“结巴”分词,”激8”分词怎么用,看这里:https://github.com/fxsjy/jieba/
因为数据比较少,所以我直接打印在控制台,并把它复制下来,更好的方法是存在mongodb中。
制作云图:
用 artword在线工具,地址:https://wordart.com
首先:
导入从控制台复制过来的数据:
令人尴尬的是,这个网站在绘制图的时候不支持中文,需要你从c:/windows/fonts下选择一个支持中文的字体,mac 用户从windows拷下文件夹也可以,或者在网上下。
然后点击Visulize就可以生成高逼格的云图了。讲解完毕,有什么需要改进的请大家留言。
源码下载:https://github.com/forezp/ZhihuSpiderMan/tree/master/blogspider
http://blog.csdn.net/forezp/article/details/70198541
本文出自方志朋的博客
今天一时兴起,想用python爬爬自己的博客,通过数据聚合,制作高逼格的云图(对词汇出现频率视觉上的展示),看看最近我到底写了啥文章。
一、直接上几张我的博客数据的云图
1.1 爬取文章的标题的聚合
1.2 爬取文章的摘要的聚合
1.3 爬取文章的标题+摘要的聚合
我最近写了SpringCloud系列教程,还有一些微服务架构方面,从云图上看,基本吻合。你若不信,可以进我的博客看看,数据还是非常准确的
二、技术栈
开发工具: pycharm爬虫技术:bs64、requsts、jieba
分析工具:wordArt
三、爬虫构架设计
整个爬虫架构非常简单:
爬取我的博客:http://blog.csdn.net/forezp
获取数据
将数据用“结巴”库,分词。
将得到的数据在在artword上制作云图。
将制作出来的云图展示给用户。
四、具体实现
先根据博客地址爬去数据:url = 'http://blog.csdn.net/forezp' titles=set() def download(url): if url is None: return None try: response = requests.get(url, headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36', }) if (response.status_code == 200): return response.content return None except: return None
解析标题
def parse_title(html): if html is None: return None soup = BeautifulSoup(html, "html.parser") links = soup.find_all('a', href=re.compile(r'/forezp/article/details')) for link in links: titles.add(link.get_text())
解析摘要:
def parse_descrtion(html): if html is None: return None soup=BeautifulSoup(html, "html.parser") disciptions=soup.find_all('div',attrs={'class': 'article_description'}) for link in disciptions: titles.add(link.get_text())
用“结巴”分词,”激8”分词怎么用,看这里:https://github.com/fxsjy/jieba/
def jiebaSet(): strs='' if titles.__len__()==0: return for item in titles: strs=strs+item; tags = jieba.analyse.extract_tags(strs, topK=100, withWeight=True) for item in tags: print(item[0] + '\t' + str(int(item[1] * 1000)))
因为数据比较少,所以我直接打印在控制台,并把它复制下来,更好的方法是存在mongodb中。
制作云图:
用 artword在线工具,地址:https://wordart.com
首先:
导入从控制台复制过来的数据:
令人尴尬的是,这个网站在绘制图的时候不支持中文,需要你从c:/windows/fonts下选择一个支持中文的字体,mac 用户从windows拷下文件夹也可以,或者在网上下。
然后点击Visulize就可以生成高逼格的云图了。讲解完毕,有什么需要改进的请大家留言。
源码下载:https://github.com/forezp/ZhihuSpiderMan/tree/master/blogspider
五、文章参考
超简单:快速制作一款高逼格词云图优秀文章推荐:
如何爬取百万知乎用户信息,并做了简单的分析相关文章推荐
- Python爬虫——H5棋牌牛牛制作数据采集
- 聚合数据API爬虫:Python
- 2.python连接mongodb,利用微博数据制作云图
- 基于python爬取‘’春雨医生“网站患者提问数据制作数据云图分析患者需求
- 【python】爬虫1——下载博客文章
- 【python】爬虫2——下载亦舒博客首页所有文章
- python实现博客文章爬虫示例
- Python初体验:三句话写个刷微博、博客、空间等的小爬虫
- 开发记录_自学Python写爬虫程序爬取csdn个人博客信息
- Python爬虫抓取csdn博客
- python网络爬虫入门(一)——简单的博客爬虫
- 最近用htmlunit做网络爬虫 遇到拿不到初始化js加载的数据的问题 最近解决了 写个简单的例子
- Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器库
- Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
- Python的网页爬虫&文本处理&科学计&机器学习&数据挖掘工具集
- 【python】爬虫3——抓取亦舒博客所有文章
- 第一次用python 写的简单爬虫 记录在自己的博客
- 采用python的pyquery引擎做网页爬虫,进行数据分析
- 《网络爬虫-Python和数据分析》数据库建库建表问题