最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

你會使用python爬蟲抓取彈幕嗎

 更新時間:2022年02月08日 09:23:34   作者:璨星爍  
這篇文章主要為大家詳細介紹了python爬蟲抓取彈幕的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言

時隔108天,何同學(xué)在B站發(fā)布了最新的視頻,《【何同學(xué)】我用108天開了個燈…》。那么就讓我們用爬蟲,爬取視頻的彈幕,看看小伙伴們是怎么評價的吧

一、爬蟲是什么?

百度百科這樣說:自動獲取網(wǎng)頁內(nèi)容的程序。在我理解看來,爬蟲就是~~“在網(wǎng)絡(luò)上爬來爬去的…”住口!~~
那么接下來就讓我們看看如何養(yǎng)搬運B站彈幕的“蟲”吧

二、飼養(yǎng)步驟

1.請求彈幕

首先,得知道爬取的網(wǎng)站url是什么。對于B站彈幕而言,彈幕所在位置是有固定格式的:

http://comment.bilibili.com/+cid+.xml

ok,那么問題來了,cid是什么呢?不用管是什么,我告訴你怎么獲取。

1.打開視頻后點擊F12,切換到“網(wǎng)絡(luò)”,在篩選器處填入“cid”進行篩選。

在這里插入圖片描述

2.點擊篩選出的網(wǎng)絡(luò)信息,在右端Payload處找到cid

在這里插入圖片描述

3.到此,我們就知道了何同學(xué)視頻彈幕的網(wǎng)絡(luò)鏈接:

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

4.接著就是發(fā)送網(wǎng)絡(luò)請求,獲取網(wǎng)絡(luò)頁面資源。Python有很多發(fā)送網(wǎng)絡(luò)請求的庫。比如:

  • urllib庫
  • requests庫

我們用reaquests庫演示

發(fā)送請求的代碼如下

(示例):

#【何同學(xué)】我用108天開了個燈......視頻的cid:499893135
#彈幕所在地
url = "http://comment.bilibili.com/499893135.xml"
#發(fā)送請求
req = requests.get(url = url)
#獲取內(nèi)容響應(yīng)的內(nèi)容
html_byte = req.content
#將byte轉(zhuǎn)為str
html_str = str(html_byte,"utf-8")

還有個值得提一下的地方是,發(fā)送請求的請求頭可以加上,偽裝自己是瀏覽器訪問。可以通過header參數(shù),加上user-agent,獲取方式如下:

在這里插入圖片描述

那么,代碼就是下面這樣了:

#假裝自己是瀏覽器
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'
}
#【何同學(xué)】我用108天開了個燈......視頻的cid:499893135
#彈幕所在地
url = "http://comment.bilibili.com/499893135.xml"
#發(fā)送請求
req = requests.get(url = url, headers=header)
#獲取內(nèi)容響應(yīng)的內(nèi)容
html_byte = req.content
#將byte轉(zhuǎn)為str
html_str = str(html_byte,"utf-8")

2.解析彈幕

html_str是html文件的格式,我們需要對其進行處理,來獲取我們想要的信息。這個時候,BeautifulSoup庫就要閃亮登場了,我們用它來處理得到的html文件

代碼如下(示例):

#解析
    soup = BeautifulSoup(html,'html.parser')
    #找到html文件里的<d>標(biāo)簽
    results = soup.find_all('d')
    #把標(biāo)簽里的文本提取出來
    contents = [x.text for x in results]
    #存為字典
    dic ={"contents" : contents}

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

3.存儲彈幕

把彈幕信息存儲成excel,也有好多庫可以用。比如:

  • xlwt庫
  • pandas庫

我們就用pandas庫把

代碼如下(示例):

把用第二步得到的字典創(chuàng)建dataFrame,然后用pandas庫的一個API存下就行了

#用字典創(chuàng)建了一個電子表格
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'
    }
    #【何同學(xué)】我用108天開了個燈......視頻的cid:499893135
    #彈幕所在地
    url = "http://comment.bilibili.com/499893135.xml"
    req = requests.get(url = url, headers=header)
    html_byte = req.content#字節(jié)
    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]
    #保存結(jié)果
    dic ={"contents" : contents}
    return dic
 def writeExcel(dic):
    #用字典創(chuàng)建了一個電子表格
    df = pd.DataFrame(dic)
    df["contents"].to_excel('htx.xlsx')
 if __name__ == '__main__':
    main()
 

三、總結(jié)

爬蟲簡單來說呢,就三步:

1.發(fā)送網(wǎng)絡(luò)請求,獲取資源

2.進行搜索等操作來獲取有用信息

3.存儲信息

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Python文件夾與文件的相關(guān)操作(推薦)

    Python文件夾與文件的相關(guān)操作(推薦)

    下面小編就為大家?guī)硪黄狿ython文件夾與文件的相關(guān)操作(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 如何利用python讀取micaps文件詳解

    如何利用python讀取micaps文件詳解

    這篇文章主要給大家介紹了關(guān)于如何利用python讀取micaps文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python使用requests模塊爬取百度翻譯

    Python使用requests模塊爬取百度翻譯

    這篇文章主要介紹了Python使用requests模塊爬取百度翻譯,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • djano一對一、多對多、分頁實例代碼

    djano一對一、多對多、分頁實例代碼

    在本篇文章里小編給大家整理的是關(guān)于djano一對一,多對多,分頁實例代碼以及相關(guān)知識點,需要的朋友們學(xué)習(xí)下。
    2019-08-08
  • Python基于pycrypto實現(xiàn)的AES加密和解密算法示例

    Python基于pycrypto實現(xiàn)的AES加密和解密算法示例

    這篇文章主要介紹了Python基于pycrypto實現(xiàn)的AES加密和解密算法,結(jié)合實例形式分析了Python使用pycrypto模塊進行AES加密與解密操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-04-04
  • Python plt.boxplot函數(shù)及其參數(shù)使用小結(jié)

    Python plt.boxplot函數(shù)及其參數(shù)使用小結(jié)

    plt.boxplot函數(shù)用于繪制箱線圖,本文介紹了Python plt.boxplot函數(shù)及其參數(shù)使用小結(jié),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • Python實戰(zhàn)之設(shè)計一個多功能辦公小工具

    Python實戰(zhàn)之設(shè)計一個多功能辦公小工具

    這篇文章主要介紹了通過Python制作一個多功能的辦公小工具,可以實現(xiàn)應(yīng)用、網(wǎng)頁直達以及天氣查詢,代碼具有一定學(xué)習(xí)價值,需要的小伙伴可以了解一下
    2021-12-12
  • Python pymysql向SQL語句中傳參的多種方法

    Python pymysql向SQL語句中傳參的多種方法

    這篇文章主要介紹了Python-pymysql如何向SQL語句中傳參,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Python隨機數(shù)種子(random seed)的使用

    Python隨機數(shù)種子(random seed)的使用

    在科學(xué)技術(shù)和機器學(xué)習(xí)等其他算法相關(guān)任務(wù)中,我們經(jīng)常需要用到隨機數(shù),本文就詳細的介紹一下Python隨機數(shù)種子,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Django?ORM?事務(wù)和查詢優(yōu)化的操作方法

    Django?ORM?事務(wù)和查詢優(yōu)化的操作方法

    這篇文章主要介紹了Django?ORM?事務(wù)和查詢優(yōu)化,包括事務(wù)操作、ORM 惰性查詢及only與defer相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09

最新評論

青神县| 达日县| 肥城市| 奉节县| 泰兴市| 娱乐| 盐边县| 云和县| 安远县| 铜川市| 福州市| 姚安县| 平乡县| 达拉特旗| 咸阳市| 辰溪县| 崇左市| 秦皇岛市| 英吉沙县| 鄄城县| 郎溪县| 防城港市| 宜章县| 监利县| 板桥市| 周至县| 武宣县| 沅陵县| 青川县| 岑溪市| 澳门| 忻州市| 高阳县| 长武县| 巫山县| 丽水市| 石屏县| 鹤庆县| 嘉义市| 文登市| 永济市|