用python爬B站短评

本文介绍了如何使用Python结合Selenium Webdriver和XPath爬取B站的短评。首先安装并配置Chrome的web scraper插件和Selenium,通过XPath定位短评元素。每页默认20条短评,利用Webdriver模拟滚动加载更多。目标数据包括用户名、评分、评论内容和时间。
摘要由CSDN通过智能技术生成

在数据分析课上跟着老师一步步学会了一点爬虫小技巧,觉得很有趣


首先需要配置Chrome浏览器的web scraper插件和Web应用程序测试工具Selenium Webdriver
web scraper 下载地址:https://www.webscraper.io
Selenium Webdriver 下载地址:https://docs.seleniumhq.org/projects/webdriver/

from selenium import webdriver
# Keys()类提供了键盘上几乎所有按键的方法,这个类可用来模拟键盘上的按键,包括各种组合键
from selenium.webdriver.common.keys import Keys
# 将用pandas中的DataFrame(一种二维的表格型数据结构)记录爬下的数据
import pandas as pd
from datetime import datetime
import numpy as np
import time
import os
def gethtml(url):
	#指定浏览器为Chrome
    browser = webdriver.Chrome()
    # 访问页面
    browser.get(url)
    #隐式等待10秒
    browser.implicitly_wait(10)
    return(browser)
# 指定要爬的网址:bilibili刀剑神域主页
url = 'https://www.bilibili.com/bangumi/media/md130412/?from=search&seid=6052946840185779930#short'
browser = gethtml(url)
print('连接成功,开始爬数据')

XPath是一个符合HTML标准的选择器,使用它可以定位到我们要用的元素在页面上的哪个位置。那么,如何获取XPath?
用Chrome浏览器访问网页 - 单击右键 - 单击“检查” - 进入web scraper界面 - 点击最左上角的箭头(会提示“Select an element in the page to inspect it”) - 在网页上点击要定位的元素 - 单击右键 - 单击“Copy” - 单击“Copy XPath” - 打开记事本 - 粘贴
在这里插入图片描述

# 通过XPath定位我们要爬的元素“短评”
comment_number_str = browser.find_element_by_xpath('//*[@id="app"]/div[2]/div[1]/ul/li[3]').text

在这里插入图片描述

# 记录短评总数, [4:-1]取第4个到倒数第1个(左闭右开), strip()剔除字符串中的空格
numcount = int(comment_number_str[4:-1].strip())

每一条用户短评所在的容器都对应一个clearfix,因此可以通过记录clearfix的数目得知我们当前页面显示的短评总数
页面默认只显示20条短评,但显然我们想要更多。通过观察,我们发现bilibili的短评在我们滑到页面底端的时候会自动加载更多,因此可以通过Webdriver的Keys()类模拟手动操作
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值