两个重要点

1.获取弹幕的url是以 .xml 结尾

2.弹幕url的所需参数在视频url响应的 javascript 中

先看代码

import requests

from lxml import etree

import re

# 使用手机UA

headers = {

"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"

}

# 视频url

video_url = "https://m.bilibili.com/video/av37834086.html"

html = requests.get(url=video_url, headers=headers).content.decode('utf-8')

# 获取弹幕url的参数

cid = re.findall(r"comment: '//comment.bilibili.com/' \+ (.*?) \+ '.xml',", html)

url = "https://comment.bilibili.com/" + cid[0] + ".xml"

print(url)

response = requests.get(url, headers=headers)

html = response.content

xml = etree.HTML(html)

# 提取数据

str_list = xml.xpath("//d/text()")

# 写入文件

with open('bibi_xuxubaobao.txt', 'w', encoding='utf-8') as f:

for line in str_list:

f.write(line)

f.write('\n')

先找到弹幕的url,以.xml结尾,所以先找到这串数字所在的位置,并获取这串数字发起第二次请求

而这串数字就在 第一次请求的响应的JavaScript中,可以通过 re 正则表达式进行提取

接下来的工作就是获取弹幕url返回的所有弹幕数据,然后对响应进行数据处理。

代码示例中使用的是 lxml 进行获取。接着就是保存到个人本地文件中了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: Python爬虫 bilibili视频弹幕提取过程详解

本文地址: http://www.cppcns.com/jiaoben/python/267226.html

python爬虫bilibili_Python爬虫 bilibili视频弹幕提取过程详解相关推荐

  1. b站python弹幕签到_Python爬虫 bilibili视频弹幕提取过程详解

    两个重要点 1.获取弹幕的url是以 .xml 结尾 2.弹幕url的所需参数在视频url响应的 javascript 中 先看代码 import requests from lxml import ...

  2. python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

  3. python字典转dataframe_python DataFrame转dict字典过程详解

    python DataFrame转dict字典过程详解 这篇文章主要介绍了python DataFrame转dict字典过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习 ...

  4. python实验原理_Python实现蒙特卡洛算法小实验过程详解

    蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯·诺伊曼,他在20世纪40年代中期用驰名世界的赌城-摩纳哥的蒙特卡洛来命名这种方法. 通俗的解释一 ...

  5. mel滤波matlab,MFCC(Mel Frequency Cepstral Coefficient)提取过程详解

    MFCCs是一个在语音识别和说话者识别领域被广泛运用的特征,由Davis和Mermelstein在1980年提出,可以说从那以后,MFCCs就一直占据这声音特征方面的state-of-the-art. ...

  6. pycharm+PyQt5+python最新开发环境配置,踩坑过程详解

    安装工具: Pycharm 专业版2017.3 PyQT5 python3 pyqt5-tools 设置扩展工具的参数找到setting->tools->external tools,点击 ...

  7. 【python】利用python的tkinter-canvas函数绘制哆啦A梦过程详解(附源码)

    1 引 言 绘制哆啦A梦的过程,其实是对哆啦A梦进行拆解的过程,得先构思出他的头部.眼睛.鼻子.嘴巴.胡须.身体.铃铛.口袋.手以及脚等(如下图所示),才能进行下一步的绘画工作.心中有丘壑,方能水到渠 ...

  8. python websocket django vue_Python Django Vue 项目创建过程详解

    1.创建项目 打开pycharm 终端,输入如下,创建项目 # 进入pycharm 项目目录下 cd pyWeb django-admin startproject pyweb_dome # pywe ...

  9. python bootstrap安装_Django配置Bootstrap, js实现过程详解

    1.首先在APP目录下创建一个static文件夹 如图: # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'dj ...

最新文章

  1. 《OpenCV3编程入门》学习笔记6 图像处理(一)线性滤波:方框滤波、均值滤波、高斯滤波
  2. 500多页的机器学习入门笔记,下载超5万次,背后都有什么故事?
  3. 技术的顶点,是普惠人类还是超越人类
  4. hashmap转红黑树的阈值为8_面试必问的HashMap,一次彻底帮你搞定HashMap源码
  5. OpenCV笔记(Size)
  6. idea webapp目录404问题,war包方式运行
  7. C语言指针和数组的天生姻缘
  8. 再见,Matplotlib!
  9. Django(part29)--Q对象
  10. 标准输入输出(C++)
  11. 笔记︱利用python + flask制作一个简易本地restful API
  12. WINDOWS NT/2000下如何屏蔽CTRL+ALT+DEL
  13. python在机械行业的应用_Python语言程序设计与应用-教学大纲
  14. Java的数据结构和算法
  15. apple 官网系统软件下载如Command Line Tools下载
  16. python 让电脑发出声音代码_python - 代码完成时发出声音警报
  17. Reincarnation hdu4622 hash解法
  18. Gos: Armed Golang
  19. matlab set函数
  20. APISpace 迎国庆

热门文章

  1. 无线获取不到地址 服务器,部分无线终端无法通过DHCP获取IP地址问题经验案例...
  2. JSON.parse与eval的区别
  3. 实现vue2.0响应式的基本思路
  4. 2015年8月7日15:18:54工作
  5. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第8节 Math类_18_数学工具类Math...
  6. 51nod 1115 最大M子段和 V3
  7. DataTable某一列的值转化成集合
  8. 富文本编辑器-Ueditor
  9. C#文件操作(IO流 摘抄)
  10. ODI中web service介绍