爬取b站视频的名称、地址、简介、观看次数、弹幕数量及发布时间并保存为csv文件(附csv文件乱码解决方法)

该爬虫大致分为以下步骤:

0.搜索关键词、点击搜索、进入新页面
1.获取每个页面的HTML
2.解析每个页面的HTML
3.将爬取到的数据写入csv文件

(这里搜索的例子是华晨宇,爬取前5页)

因为刚学爬虫,所以注释会写得比较多,方便自己理解。

文章末尾有完整源代码,分析过程的代码比较杂。


先引入相关模块、做好准备工作:

import requests
from bs4 import BeautifulSoup
from selenium import webdriver # 引入浏览器驱动
from selenium.webdriver.common.by import By # 借助By模块进行操作
from selenium.webdriver.support.ui import WebDriverWait # 显式等待
from selenium.webdriver.support import expected_conditions as Ec # 显式等待的条件
from selenium.common.exceptions import TimeoutException # 捕获超时异常
import pandas as pd


browser = webdriver.Chrome() # 获取浏览器对象
WAIT = WebDriverWait(browser,10) # 指定最长等待时间


url = 'https://www.bilibili.com'
print('开始访问b站……')
browser.get(url)

0.搜索关键词、点击搜索、进入新页面:

首先我们按F12观察一下b站页面的搜索框和搜索按键:

这里我们使用XPath选取节点,右键点击框起来的标签选择Copy XPath。

def search(content):
    print('正在进行搜索……')
    # 用XPath选取节点
    input = WAIT.until(Ec.presence_of_element_located((By.XPATH,'//*[@id="nav_searchform"]/input')
  • 18
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值