python爬虫之Selenium数据爬取和数据可视化

本文介绍了如何利用Python的Selenium库爬取虎牙直播第一页的分类和人气数据,然后使用pandas进行数据分析,并通过Matplotlib绘制柱状图和饼图进行可视化展示。主要步骤包括定位标签、获取数据、数据处理和图表绘制。通过分析,发现游戏直播在晚上占比最大。

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

本文爬取的数据为虎牙官方网站直播数据,仅获取了直播第一页的所有直播分类和各直播的人气,并对其进行了粗略的分析,数据获取时间为2021-01-03(22:00)。



1 前置条件

在使用本文代码前,需先下载selenium库、matplotlib库、pandas库和相对应浏览器的相应版本的驱动。

此处给出Chrome浏览器驱动下载地址:
https://chromedriver.storage.googleapis.com/index.html.
查看自己的Chrome浏览器版本号的路径为:设置→关于Chrome。结果如下:

Chrome浏览器版本号


2 定位标签


1. 通过查看网页源码,定位到每一个直播模块的class_name为“game-live-item”,如图:

定位每个直播模块的class_name

2. 如上图可以看到每个直播模块的右下角都有分类和人气两个数据,我们同样可以定位到其class_name,如图:

定位分类和人气的标签的class_name


3 获取数据

3.1 导入库和使用驱动器打开网页

  1. 导入自己需要用到的几个库;

  2. 实例化Selenium模块,写入驱动器文件路径(若驱动器与代码文件在同一处也可不写,但我建议为了不出错,不论是否在一处均可写上);

  3. 写入需要爬取数据的网页网址;

  4. 开始使用" find_elements_by_… " 的方法定位标签,也可使用" find_element_by_… “的方法定位,区别是” elements "所获取下来的数据为列表类型。

代码如下:

from selenium import webdriver
import time
import pandas as pd
import matplotlib.pyplot as plt

browser = webdriver.Chrome(r'C:\Users\29023\Desktop\chromedriver.exe')  
#实例化selenium模块,打开chrome驱动器,此处括号中写驱动器的文件路径
browser.get('https://www.huya.com/')  #浏览器打开网址

button_live = browser.find_elements_by_class_name('hy-nav-item')[1]  
#定位直播,'hy-nav-item' 为虎牙官网上方导航栏“首页”旁“直播”按钮的class_name
button_live.click()  #模拟人工操作点击“直播”

注意:在使用" .click() "方法时要注意,若数据为列表类型则不能直接使用该方法,要指明是列表中的哪一个数据后,才可以使用该方法。

3.2 获取分类和人气两个数据

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值