如何去使用Python爬蟲來爬取B站的彈幕資料?

2021-10-22 19:32:44 字數 1235 閱讀 7819

xml和json、yaml一樣是一種通用的標記資訊表達方式,可以簡單的理解為一種記錄資料的格式。xml和描述網頁的語言html非常像,所以你會在截圖中看到這樣的標籤。

那麼上圖這個彈幕檔案的url是什麼呢?

cid在網頁原始碼中是乙個很常見的片語,而我們要尋找的正確的cid都會寫成"cid":******xx的形式。為了縮小搜尋範圍,在後方加上乙個引號會更快搜尋到。

有了正確的cid,拼好url,我們就來寫爬蟲吧!

基本所有初學python爬蟲的人都會接觸到requests、beautifulsoup這兩個工具庫,這是兩個常用基礎庫。requests用於向**url發起請求,以獲取網頁**;beautifulsoup用於將html/xml內容解析,並提取裡面的重要資訊。

這兩個庫模擬了人訪問網頁,讀懂網頁並複製貼上出對應資訊的過程,能夠批量地、快速地完成資料爬取。

觀察網頁,可以發現,所有的彈幕都放在了標籤下,那麼我們需要構建乙個程式獲取所有的標籤:

第一步,匯入requests庫,使用request.get方法訪問彈幕url:

import requests

#獲取頁面資料html

url=r』

r=requests.get(url)#訪問url

r.encoding=『utf8』

第二步,匯入beautifulsoup庫,使用lxml解析器解析頁面:

from bs4 import beautifulsoup

#解析頁面

soup=beautifulsoup(r.text,『lxml』)#lxml是常用的解析器,需要提前使用pip工具安裝lxml庫

d=soup.find_all(『d』)#找到所有頁面的d標籤

#print(d)

這樣操作後,所有藏在d標籤裡的彈幕內容就被python抓取到了 :

#解析彈幕,將彈幕、**、時間整理為字典,最後加和成列表,共1000條資料

Python爬蟲(二)使用urllib來爬點東西

1 先爬乙個網頁下來看看吧 怎樣扒網頁呢?其實就是根據url來獲取它的網頁資訊,雖然我們在瀏覽器中看到的是優美有序的畫面,但是其實是由瀏覽器解釋才呈現出來的,實質它是一段html 加js css,下面我們就來扒乙個網頁下來看看。python 3 import urllib.request respo...

python提高爬蟲速度 如何提高爬蟲爬取的速度?

寫了個簡單的協程爬蟲爬取b站使用者資訊,如下 import requests import re import json import datetime import asyncio def get info uid url info 基本資訊 uid str uid return loop.run...

python爬蟲反爬 爬蟲怎麼測試反爬?

有沒有反爬,如果你沒有用爬蟲抓取過,你是不可能知道的。就算要測試,你還要嘗試不同的delay。如果設定的 delay 在 的反爬頻率外,那就測不出來。如果在頻率內,那就被封。或者封ip,或者封賬號。如果一定要測出來,就簡單粗暴的方法,你不要設定delay,就不間斷的抓,最後出現兩種情況,1 有反爬,...