爬虫爬取弹幕,python爬取直播弹幕

  爬虫爬取弹幕,python爬取直播弹幕

  本文主要详细介绍python爬虫抓取弹幕的方法。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  00-1010前言一、什么是爬行动物?2.喂食第一步。请求弹幕2。分析弹幕3。存储弹幕4。通用代码3。总结一下。

  

目录

  108天后,他在哔哩哔哩发布了最新视频《【何同学】我用108天开了个灯…》。那我们就用爬虫爬上视频的弹幕,看看朋友们怎么说。

  

前言

  百度是这样说的:自动获取网页内容的程序.据我理解,爬虫就是~ ~“在网上爬来爬去…”闭嘴!~~

  那么让我们来看看如何提高“蠕虫”携带哔哩哔哩弹幕。

  

一、爬虫是什么?

  

二、饲养步骤

  首先,你需要知道被抓取的网站的网址是什么。对于哔哩哔哩弹幕,弹幕的位置有一个固定的格式:

  http://comment.bilibili.com/刑事调查局。可扩展标记语言

  好了,那么问题来了,cid是什么?不管是什么,我会告诉你怎么得到它。

  1.打开视频后点击F12,切换到“网络”,在滤镜处填写“cid”即可过滤。

  2.单击筛选出的网络信息,并在右端的有效负载中找到cid。

  3.至此,我们知道了同学何的视频弹幕的网络链接:

  http://comment.bilibili.com/499893135.xml

  4.下一步是发送网络请求以获取网络页面资源。Python有许多用于发送网络请求的库。例如:

  我们用请求库来演示。

  请求的代码如下

  (示例):

  #[同学何]108天我开了一盏灯.视频的CID:499893135

  #拦河坝的位置

  URL= http://comment . bilibili.com/499893135 . XML

  #发送请求

  req=requests.get(url=url)

  #获取内容响应的内容

  html _字节=req.content

  #将字节转换为字符串

  html_str=str(html_byte, utf-8 )

  另外值得一提的是,可以添加发送请求的请求头来假装是浏览器访问。您可以使用header参数和user-agent来获取它,如下所示:

  因此,代码看起来像这样:

  #假装是一个浏览器

  header={

  用户代理“:”Mozilla/5.0(Windows NT 10.0;Win64x64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/98 . 0 . 4758 . 80 Safari/537.36 Edg/98 . 0 . 1108 . 43

  }

  #[同学何]108天我开了一盏灯.视频的CID:499893135

  #拦河坝的位置

  URL= http://comment . bilibili.com/499893135 . XML

  #发送请求

  req=requests.get(url=url,headers=header)

  #获取内容响应的内容

  html _字节=req.content

  #将字节转换为字符串

  html_str=str(html_byte, utf-8 )

  

1.请求弹幕

  Html_str是Html文件的格式,我们需要对它进行处理才能得到我们想要的信息。这时,博

  tifulSoup库就要闪亮登场了,我们用它来处理得到的html文件

  代码如下(示例):

  

#解析

   soup = BeautifulSoup(html,html.parser)

   #找到html文件里的<d>标签

   results = soup.find_all(d)

   #把标签里的文本提取出来

   contents = [x.text for x in results]

   #存为字典

   dic ={"contents" : contents}

  

  contents就是弹幕字符串列表了,存成字典是为了下一步…

  

  

3.存储弹幕

  把弹幕信息存储成excel,也有好多库可以用。比如:

  

  • xlwt库
  • pandas库

  我们就用pandas库把

  代码如下(示例):

  把用第二步得到的字典创建dataFrame,然后用pandas库的一个API存下就行了

  

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

  df = pd.DataFrame(dic)

  df["contents"].to_excel(htx.xlsx)

  

  

  

4.总代码

  

import requests

  from bs4 import BeautifulSoup

  import pandas as pd

   def main():

   html = askUrl()

   dic =analyse(html)

   writeExcel(dic)

   def askUrl():

   #假装自己是浏览器

   header ={

   User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.43

   }

   #【何同学】我用108天开了个灯......视频的cid:499893135

   #弹幕所在地

   url = "http://comment.bilibili.com/499893135.xml"

   req = requests.get(url = url, headers=header)

   html_byte = req.content#字节

   html_str = str(html_byte,"utf-8")

   return html_str

   def analyse(html):

   soup = BeautifulSoup(html,html.parser)

   results = soup.find_all(d)

   #x.text表示要放到contents中的值

   contents = [x.text for x in results]

   #保存结果

   dic ={"contents" : contents}

   return dic

   def writeExcel(dic):

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

   df = pd.DataFrame(dic)

   df["contents"].to_excel(htx.xlsx)

   if __name__ == __main__:

   main()

  

  

  

三、总结

  爬虫简单来说呢,就三步:

  1.发送网络请求,获取资源

  2.进行搜索等操作来获取有用信息

  3.存储信息

  本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注盛行IT软件开发工作室的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: