Python爬取个人博客,带你制作高逼格的数据聚合云图

利用Python爬取个人博客数据,通过词频统计生成词云图,直观展现近期撰写文章的主题分布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击上方“中兴开发者社区”,关注我们

每天读一篇一线开发者原创好文

本文出自方志朋的博客

链接:http://blog.youkuaiyun.com/forezp/article/details/70198541


一时兴起,想用Python爬爬自己的博客,通过数据聚合,制作高逼格的云图(对词汇出现频率视觉上的展示),看看最近我到底写了啥文章。


一、直接上几张我的博客数据的云图


1.1 爬取文章的标题的聚合



1.2 爬取文章的摘要的聚合


1.3 爬取文章的标题+摘要的聚合



我最近写了SpringCloud系列教程,还有一些微服务架构方面,从云图上看,基本吻合。你若不信,可以进我的博客看看,数据还是非常准确的


二、技术栈


  • 开发工具: pycharm

  • 爬虫技术:bs64、requsts、jieba

  • 分析工具:wordArt


三、爬虫构架设计



整个爬虫架构非常简单:


  • 爬取我的博客:http://blog.youkuaiyun.com/forezp

  • 获取数据

  • 将数据用“结巴”库,分词。

  • 将得到的数据在在artword上制作云图。

  • 将制作出来的云图展示给用户。


四、具体实现


先根据博客地址爬去数据:

url = 'http://blog.youkuaiyun.com/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



### 回答1: 豆瓣电影是众所周知的一个知名电影评分网站,其中的TOP250电影榜单更是备受关注。爬取这个榜单的数据可以帮助我们更好地了解电影市场和评价,数据可视化方面可以更好地呈现这些数据。 首先,我们可以使用Python程序编写爬虫,抓取豆瓣电影TOP250的数据。我们可以通过分析网页源代码,选取需要的信息,例如电影名称、上映时间、豆瓣评分、评分人数、电影类型、导演、演员等信息。然后,将所有信息保存在CSV文件中。我们可以使用BeautifulSoup模块或Scrapy框架来实现爬虫程序的编写。 接下来,我们可以使用Python数据可视化工具来对这些数据进行可视化处理。例如,我们可以使用matplotlib或Seaborn绘制电影评分的统计图表和线型图,了解每部电影评分的分布情况、评分人数的多寡、豆瓣评分的走向等。另外,我们也可以绘制散点图或热图,从电影类型、上映时间等角度分析不同类型电影的评分情况。我们还可以利用词云图工具呈现电影的标签云图,更直观地展示豆瓣用户对电影的评价。 总的来说,我们可以使用Python的爬虫和数据可视化工具来爬取豆瓣电影TOP250榜单的数据,并且将数据以图表、统计、云图等形式进行可视化分析,从而更好地了解电影市场和评价。 ### 回答2: 豆瓣电影Top250是电影爱好者们都很熟悉的一个电影排行榜。为了更好地了解这个排行榜的情况,我们可以利用Python爬取豆瓣电影Top250上的电影信息,并将数据制作成可视化图表,以更直观地呈现数据。 首先,我们需要使用Python爬虫技术获取豆瓣电影Top250中每部电影的信息。一般来说,爬取网页数据需要用到一些第三方爬虫库,比如Requests和BeautifulSoup。使用Requests库可以向豆瓣服务器发送请求,获取Top250的网页HTML文件。接着,我们可以使用BeautifulSoup库解析HTML文件,从中获取每一部电影的名称、评分、演员、导演、简介等信息。爬取完毕后,将获取到的数据存储在MySQL或者MongoDB数据库中,方便后续对数据的处理和分析。 接下来,我们需要将获取到的数据进行数据可视化。我们可以使用Python中的Matplotlib或者Seaborn等数据可视化库来制作可视化图表。比如,我们可以生成柱状图、饼图、折线图等多种图表类型,展现Top250中电影各类别的数量分布、电影评分的分布情况、导演、演员等数据的贡献度等信息。 总之,通过Python爬取豆瓣电影Top250数据,并利用数据可视化技术制作图表,我们可以更好地了解电影市场的情况,从中找到一些有用的数据洞察点,对后续的电影市场分析等工作提供有力支持。 ### 回答3: 随着互联网的普及和数据挖掘的发展,数据可视化已经成为当今最流行的技术之一。而Python语言的出现,极大地促进了数据可视化技术的发展,并且能够使数据可视化更加效、便捷。 Python爬取豆瓣电影Top250数据可以使用爬虫框架Scrapy,通过对网页的解析和内容抓取,将所需数据存入数据集中。数据集中存储了每个电影的名称、导演、主演、类型、上映时间、评价人数、评分等信息,这些数据可以通过Python数据可视化工具如Matplotlib、Pandas等进行可视化处理。 通过数据可视化可以得到丰富的数据分析和呈现,如: 1.不同类型电影的数量 通过Python可视化工具可以得到不同类型电影的数量,并且可以使用饼图、柱状图等图表进行图像展示,帮助人们更好地了解豆瓣Top250电影中各类型的分布情况。 2.电影排名及评价情况 通过Python爬虫框架获取的豆瓣Top250电影可以进行排名展示及评价等数据的分析。可视化工具可以帮助我们通过散点图、折线图等形式直观地了解电影排名及评价情况。 3.电影时长对评分的影响 通过Python可视化工具可视化处理电影时长对评分的影响。可以得出电影时长对于电影评分存在明显影响的结论,以饼图的形式将主观评价的电影与电影时长进行对比。 Python爬取豆瓣电影Top250,通过数据可视化工具可以使我们直观地了解到豆瓣Top250电影的分类情况、排名和评价等数据信息,同时,也可以了解到电影时长等因素对电影评价的影响,这对我们对电影的分析与推荐可以起到积极的作用,有助于我们更好地了解电影行业的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值