【数据可视化】通过使用网络爬虫对数据爬取并进行可视化分析

这篇具有很好参考价值的文章主要介绍了【数据可视化】通过使用网络爬虫对数据爬取并进行可视化分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


项目介绍

  本次项目所爬取的网页为柳州职业技术学院电子信息工程学院的超星学习通课程中心。在该网页中可以查看到电子信息工程学院历年的超星课程创建情况,还可以进入到课程界面查看相应的教学资源。

  在该网页中,详细记录了课程序号、课程名称、课程链接、所属院系、课程负责人、课程点击量、课程创建时间等信息,本次项目采用爬虫针对这些网页信息进行获取,数据清理和数据分析,进行简单的数据可视化处理,挖掘出数据的价值,并在一定的条件下对数据进行应用。

爬虫数据可视化,python,开发语言,信息可视化,网络爬虫


一、Python网络爬虫介绍

  在学习python网络爬虫中,我们常用的对网页数据进行爬取的方法主要有以下几种。

  1.使用正则表达式对网页数据进行提取。
  2.使用xpath查询网页节点,提取出网页有用的信息。
  3.使用Beautiful Soup解析和提取网页中信息。
  4.使用json,解析使用AJAX技术通过json格式传输数据的网页。
  5.通过网页自动化工具,对网页数据进行自动化提取。


二、数据爬取

1.引入所需的库

源代码:

import requests
from lxml import etree
import pandas as pd

  本次项目首先导入requests 库来获取网页内容,导入 lxml 库来解析网页内容,导入 pandas 库来创建表格并将数据存入Excel文件中。

2.网页解析

源代码:

# 定义函数用来爬取网站的课程信息
def get_lzzy_dzxx():
    # 初始化结果列表,并添加列名
    result=[['序号','课程链接','课程名称','所属院系','负责人','点击量','创建日期']]
    # 循环访问网站的每一页
    for i in range(65):
        # 构造网站的URL
        url = f'http://lzzy.fanya.chaoxing.com/portal/courseNetwork/list?pageSize=10&keyword=&departmentId=2262486&order=0&sort=createTime&pageNum={i+1}'
        # 设置请求头
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'}
        # 获取网页内容
        res = requests.get(url=url, headers=headers)
        # 解析网页内容
        html = etree.HTML(res.text)

  定义了一个函数 get_lzzy_dzxx,该函数用来爬取网站的课程信息。函数中使用了一个循环,用来访问网站中的每一页。每一次循环时,通过构造特定的url并使用 requests 库来获取网页内容,然后使用 lxml 库的 etree.HTML 函数来解析网页。

3.网页内容爬取

源代码:

  # 获取所有tr
        tr_list = html.xpath('//table//tr')
        # 循环每一行并获取行内信息
        for tr in tr_list[1:]:
            #序号
            xuhao = tr.xpath('./td[1]/text()')[0]
            #课程链接
            course_url=tr.xpath('./td[3]/a/@href')[0]
            #课程名称
            name=tr.xpath('./td[3]/a/text()')[0].strip()
            #所属院系
            college=tr.xpath('./td[4]/text()')[0]
            #负责人
            teacher=tr.xpath('./td[5]/text()')[0]
            #点击量
            click=tr.xpath('./td[6]/text()')[0]
            #创建日期
            create_date=tr.xpath('./td[7]/text()')[0]
             # 将信息加入结果列表
            course_list=[xuhao,course_url,name,college,teacher,click,create_date]
            print(course_list)
            result.append(course_list)
         # 创建表格并将数据存入Excel文件中
        df=pd.DataFrame(result)
        df.to_excel('电子信息工程学院课程中心.xlsx',header=None,index=False)

  使用xpath语法来提取网页中的课程信息。xpath语法是一种用来提取网页中特定元素的方法。例如,//table//tr 表示在网页中查找所有的tr元素(即表格中的每一行),接着循环每一行并用xpath语法获取当前节点下的内容。
  包括行内的序号、课程链接、课程名称、所属院系、课程负责人、课程点击量和课程创建时间。最后将课程信息存进结果列表中,并用pandas 库创建表格将数据存进excel文件中,至此完成了网页数据爬虫代码的编写。


三、数据分析与可视化

1.分析学院历年创建课程数


爬虫数据可视化,python,开发语言,信息可视化,网络爬虫
  通过pandas将爬取到的数据进行预处理后和分析之后,我们使用pyechart将分析的结果绘制出来。我们可以看到电子信息工程学院的课程中心课程创建数量在逐年增长,从2020年开始,之后每年创建课程数量都特别多。

  通过分析说明了学院不断提供更多的学习课程,和在线学习资源。对于使用线上学习平台的需求量也逐年上升,学院在不断满足学生和教师的需求,并且愿意投入更多的资源来支持在线学习。

2.分析学院历年课程点击量


爬虫数据可视化,python,开发语言,信息可视化,网络爬虫
  在对历年各课程点击量总数进行汇总后,我们发现,2020年达到了一个非常高的峰值,原因可能是2020年口罩事件,学校无法组织线下学习,从而通过线上学习平台进行学习。进而导致2020年课程点击量剧增。
  在随后的两年,由于措施的严密落实,学校能够恢复线下教学,学习平台的访问量较为稳定。同时2022年访问量和2021年相比,也实现了200万的增长。

3.分析学院每月课程创建数量


爬虫数据可视化,python,开发语言,信息可视化,网络爬虫
  在对课程平台每月的课程创建数量进行统计分析时发现,3月和9月为两个高峰,课程创建数量最多。出现这种现象的原因有可能是,3月和9月为学校的开学季,很多教师可能会在课程平台上创建新的课程,以便更好地帮助学生学习。

4.学院课程词云图


爬虫数据可视化,python,开发语言,信息可视化,网络爬虫
  通过爬取的课程名称绘制了电子信息工程学院课程词云图,通过词云图我们能够清晰的了解该学院的主要课程,哪些课程最热门,能够帮助学生加深对本学院的了解,同时在招生过程中也是给要进入该学院学习的学生很好的介绍材料。


总结

  在本次课程中心数据爬取与分析项目中,在爬取数据方面,使用到了Python网络爬虫技术对数据进行获取,在数据分析方面采用了Pandas和pyecharts对数据进行处理分析和数据可视化。

  在完成项目过程中,应用了之前课程所学习的知识,在爬虫代码编写过程中,适当添加简洁注释,注重代码的封装和调用,在数据分析过程中注重代码的数据量和数据价值,并通过所学知识进一步挖掘出其应用价值。通过这次项目练习,不仅提升了自己的技能水平,还为今后的工作或学习打下良好的基础。文章来源地址https://www.toymoban.com/news/detail-765609.html

到了这里,关于【数据可视化】通过使用网络爬虫对数据爬取并进行可视化分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫案例—京东数据爬取、数据处理及数据可视化(效果+代码)

            使用PyCharm(引用requests库、lxml库、json库、time库、openpyxl库和pymysql库)爬取京东网页相关数据(品牌、标题、价格、店铺等) 数据展示(片段):         京东网页有反爬措施,需要自己在网页登录后,获取cookie,加到请求的header中(必要时引入time库,设置爬取

    2024年02月09日
    浏览(47)
  • python爬虫爬取电影数据并做可视化

    1、发送请求,解析html里面的数据 2、保存到csv文件 3、数据处理 4、数据可视化 需要用到的库: 注意:后续用到分词库jieba以及词频统计库nltk    解释器: python  3.10.5 编辑器:VsCode -jupyter-notebook 使用ipynb文件的扩展名 vscode会提示安装jupyter插件 效果: 注意:使用jieba分词,

    2024年02月07日
    浏览(39)
  • 【工作记录】基于可视化爬虫spiderflow实战天气数据爬取@20230618

    之前写过一篇关于可视化爬虫spiderflow的文章,介绍了基本语法并实战了某校园新闻数据的爬取。 还有一篇文章介绍了基于docker-compose快速部署spiderflow的过程,需要部署的话可参考该文章。 文章链接如下: 可视化爬虫框架spiderflow入门及实战 【工作记录】基于docker-compose快速部

    2024年02月11日
    浏览(106)
  • 【Python】实现爬虫(完整版),爬取天气数据并进行可视化分析

    ✌️✌️✌️大家好呀,你们的作业侠又轰轰轰的出现了,这次给大家带来的是python爬虫,实现的是爬取某城市的天气信息并使用matplotlib进行图形化分析✌️✌️✌️ 要源码可私聊我。 大家的关注就是我作业侠源源不断的动力,大家喜欢的话,期待三连呀😊😊😊 往期源码

    2024年02月05日
    浏览(47)
  • b站爬虫大作业(大二)--(利用selenium模块爬取数据、利用pyecharts模块制作可视化图表)(bilibili数据可视化)

    一、爬取前期准备工作 二、爬取目标 三、爬取过程(重点) 四、生成可视化图表 1.安装selenium模块及其相关驱动 安装selenium模块(以PyCharm为例) 方法一:打开PyCharm,依次点击 “文件”---“设置”---“python解释器”---选择适合的环境(环境可以自己新建,也可以使用基础环境

    2024年02月22日
    浏览(46)
  • 【爬虫、数据可视化实战】以“人口”话题为例爬取实时微博数据并进行舆情分析

    近期在weibo上讨论的比较热的话题无非就是“人口”了。TaoTao也看了一些大家发的内容。但是感觉单纯的看文字内容不能很直观的反应出来大家的关切。索性就使用爬虫对数据进行爬取,同时结合着数据可视化的方式让数据自己开口说话。那么接下来就让我们使用技术进行分

    2024年01月23日
    浏览(54)
  • Python通过pyecharts对爬虫房地产数据进行数据可视化分析(一)

    对Python通过代理使用多线程爬取安居客二手房数据(二)中爬取的房地产数据进行数据分析与可视化展示 我们爬取到的房产数据,主要是武汉二手房的房源信息,主要包括了待售房源的户型、面积、朝向、楼层、建筑年份、小区名称、小区所在的城区-镇-街道、房子被打的标

    2024年02月07日
    浏览(55)
  • 毕业设计——基于网络爬虫的电影数据可视化分析系统的设计与实现(综述+爬虫源码+web可视化展示源码)

    整个系统包括两大部分,如需要完整源码,可私信博主 一部分是使用python构建的爬虫,可爬取豆瓣电影数据并将爬取的数据存储在csv中,同时写入MySQL数据库。第二部分是针对爬取的数据进行多维数据清晰和分析,采用Flask框架进行前端的可视化呈现。 爬虫部分的基本原理:

    2024年04月16日
    浏览(84)
  • 开源的可视化爬虫易采集EasySpider:如何无代码可视化的爬取需要登录才能爬的网站

    一个可视化爬虫软件,可以使用图形化界面,无代码可视化的设计和执行爬虫任务。只需要在网页上选择自己想要爬的内容并根据提示框操作即可完成爬虫设计和执行。同时软件还可以单独以命令行的方式进行执行,从而可以很方便的嵌入到其他系统中。 EasySpider 是一种无代

    2024年02月15日
    浏览(49)
  • Scrapy爬取数据,使用Django+PyEcharts实现可视化大屏

    使用Scrapy进行数据爬取,MySQL存储数据,Django写后端服务,PyEcharts制作可视化图表,效果如下。 项目下载地址:Scrapy爬取数据,并使用Django框架+PyEcharts实现可视化大屏 发现每个模块都有详情页,可以通过点击首页各个模块的标签,进行访问。 基于数据可视化的游客行为分析

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包