优草派  >   Python

你会使用python爬虫抓取弹幕吗?python爬虫如何爬取实时弹幕?

翟嘉慧            来源:优草派

现在的爬虫可以做的事情非常多,数据采集、信息挖掘、电影评分、个人资料、实时弹幕等等,只要你技术超群,你爱咋爬咋爬,当然要合法。现在越来越多的人去学习爬虫,一点是现在互联网对于信息数据的需求越来越多,第二点python它是一种简单功能强大的编程语言,大部分爬虫学习都是用它。下面一起学习“你会使用python爬虫抓取弹幕吗?python爬虫如何爬取实时弹幕?”。

你会使用python爬虫抓取弹幕吗?python爬虫如何爬取实时弹幕?

python爬虫抓取弹幕的方法步骤可以分成三部分,通过示例为大家进行讲解。

一、请求弹幕

在看视频的时候,对弹幕的爬取首先我们要去获取它的url,对于网站而言,弹幕的所在位置几乎都是固定不变的的格式,这里通过B站来进行举例说明,在一个网址中都会存在一个“cid”

1、先打开网站中的视频,按下f12,或者右击,然后点击“检查”,在最右边的操作框中,先将菜单栏切换到“网络”,在搜索框中将“cid”填入,进行搜索。

2、在所有信息中进行筛选,点击“Payload”,找到我们要的”cid”

3、这样我们就可以就获取到了一个网站中的cid了。

4、使用request库来对网站发起请求,使用urllib库来对网站的页面进行获取。代码示例如下:

url = "http://comment.bilibili.com/499893135.xml"
“499893135”就是我们刚刚获取的cid值。
发送请求,在发送请求的时候还可以对浏览器进行伪装操作,我这里没有使用。
req = requests.get(url = url)
获取内容响应的内容
html_byte = req.content
将byte转为str
html_str = str(html_byte,"utf-8")

二、解析弹幕

我们获取下来的数据一般都是以html格式存在,现在我们需要的就是将这些html格式进行处理,获取我们自己想要的信息,这个时候又要使用到一个BeautifuSoup库,代码如下:

soup = BeautifulSoup(html,'html.parser')
 results = soup.find_all('d')
把标签里的文本提取出来
contents = [x.text for x in results]
存为字典
 dic ={"contents" : contents}

在代码中,我们首先会对这个html进行操作,使用soup.find_all获取一个<d>的标签,再将标签进行提取,最后以字典的形式进行存入。

三、存储弹幕

从网站获取下来的弹幕信息,我们可以使用一个excel表来对它进行存储,这里又要使用到两个库,是对表格进行处理的。

Xlwt库是对表格进行处理

pandas库

将刚才我们存储的字典创建一个dataFrame,这里是使用pandas库来对表格数据进行操作的,代码如下:

#用字典创建了一个电子表格

df = pd.DataFrame(dic)
df["contents"].to_excel('htx.xlsx')

本篇你会使用python爬虫抓取弹幕吗?python爬虫如何爬取实时弹幕?的文章内容就介绍到这里了,希望能够给你带来帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。