爬虫之哔哩哔哩弹幕的获取

【爬虫之哔哩哔哩弹幕的获取】突然想爬一下哔哩哔哩的弹幕,视频不重要,弹幕才是本体,从弹幕的内容里还可以看出来大众的态度和情绪,是一个很好的舆论分析的工具。
分析一下接口,
爬虫之哔哩哔哩弹幕的获取
文章图片

是一个以list开头的xhr文件

import time,requests,re from selenium import webdriver from lxml import etree """解析哔哩哔哩弹幕: 哔哩哔哩二次请求的弹幕文件是一个xml文件,这里用两种方法来解析""" # 第一种方式,使用selenium来解析,这种方式不用解码与编码 # driver = webdriver.PhantomJS(executable_path=r'C:\python3.5.3\phantomjs-2.1.1-windows\bin\phantomjs.exe') # base_url = 'https://api.bilibili.com/x/v1/dm/list.so?oid=100236969' # driver.get(base_url) # # 弹幕主体是被d标签包围的 # muma=driver.find_elements_by_tag_name('d') # for dan in muma: #print(dan.text)# 第二种方式是用requests与xpath来解析,不需要解码 base_url = 'https://api.bilibili.com/x/v1/dm/list.so?oid=100236969' contents = requests.get(base_url).content contents = etree.XML(contents) #使用html也可以 #contents = etree.XML(contents) muma = contents.xpath('.//d/text()') for dan in muma: print(dan)# 第三种方式是正则提取,需要解码 # base_url = 'https://api.bilibili.com/x/v1/dm/list.so?oid=100236969' # contents = requests.get(base_url).content.decode('utf-8') # muma_rule = re.compile(r'(.*?)') # muma = muma_rule.findall(contents) # for dan in muma: #print(dan)

    推荐阅读