詞云 pythonB站彈幕爬取

2021-10-07 14:12:31 字數 3088 閱讀 5136

**實現**

現存的問題

這個不是邊搞邊記錄著寫的,主要靠回憶?

這個適用於conda使用者哦,當然我就是隨便寫寫,我也是第一次搞,主要寫下自己遇到的問題。

jieba我早就安裝了,應該是直接cmd開啟後 pip install jieba,大概是上課作業需要,當時用著也還成。啊當時也把beautifulsoup啥的都安裝了,所以我寫這個好像真的是沒有什麼普適性呢。

但是這次再使用的時候總會報那個找不到jieba的那個錯,當時查了大概意思就是jieba安裝的位置不對,我就簡單粗暴的複製了乙個jieba過去了,檢驗可行。(當然這是不對的

同樣還是那個問題,這次直接複製過去就不可以了= =

在這之前有安裝的問題的話,乙個是注意版本,比如我的電腦是64位的,我下wordcloud時就下了64的,但是!我的python是32位的,啊這個搞了我很長時間,是要和python版本對應!

還有就是安裝好了還是不可以使用,啊過程不說了,直接說結果:conda install wordcloud+版本。意思就是說在conda進行操作,不是直接pip。

我查了半天都是說cid的獲取。但是這個網頁它一改再改,按照指示我也沒看到。但是大體上還是很管用的。

看這裡。(整篇文章都很棒~)按照指示然後在附近翻翻就可以看到oid三個字母了。

最新的格式:

增加的話,jieba.suggest_freq()的格式即可

刪除目前我還沒實現

實現方法我搜了很多,但是大多不太可行。這個是我實現的,注意背景的白色必須是純白色,不然不會出現效果,有需要建議摳圖。

import requests

from bs4 import beautifulsoup

import re

from imageio import imread

from pil import image

import numpy as np

import matplotlib.pyplot as plt

from wordcloud import wordcloud, stopwords, imagecolorgenerator

import jieba #中文分詞

import wordcloud #繪製詞云

url =

''headers =

response = requests.get(url,headers=headers)

html_doc = response.content.decode(

'utf-8'

)

#正規表示式的匹配模式

f=open

('後浪彈幕.txt'

,'w'

,encoding=

'utf-8'

)res = re.

compile

('(.*?)'

)#根據模式提取網頁資料

danmu = re.findall(res,html_doc)

for i in danmu:

f.write(i+

" ")

f.close(

)f =

open

('後浪彈幕.txt'

,encoding=

'utf-8'

)txt = f.read(

)jieba.suggest_freq(

'嗶哩嗶哩'

,true

)jieba.suggest_freq(

'奔湧吧'

,true

)jieba.suggest_freq(

'(゜-゜)つロ乾杯~'

,true

)#1寫出不想顯示的片語

stopwords =

set(stopwords)

stopwords.add(

"つロ"

)stopwords.add(

"(゜-゜)つロ乾杯~"

)stopwords.add(

'後浪'

)txt_list = jieba.lcut(txt)

print

(txt_list)

string =

' '.join(

(txt_list)

)print

(string)

mask=imread(

"man.png"

)#設定詞云形狀

w = wordcloud.wordcloud(mask=mask,

# 指定背景圖形狀

font_path=

'c:/windows/simli.ttf'

,#字型

background_color=

'white'

, width=

1000

, height=

700,

scale=15,

stopwords=stopwords,

contour_width=3,

contour_color=

'blue'

)w.generate(txt)

plt.imshow(w)

plt.axis(

'off'

)plt.show(

)w.to_file(

'wordcloud.png'

)

效果:

1.嗶哩嗶哩乾杯的那個顏表情總會被自動刪除,我加了也不行。

2.刪除還沒實現。

3.想實現更多彈幕的獲取,現在只能得到彈幕池的3000,可以手動調節彈幕日期但也不太現實。

或許有人想給我解答嗎(

爬取B站彈幕

最近幾天學習爬蟲,便爬取了b站的彈幕,本篇博文記錄的是爬取彈幕的方法一,近期會更新方法二。下面是流程 點開這個包是這個形式的 這裡面就有明文的彈幕,但通過requests獲得的response是經過utf 8編碼加密過的,想要獲得彈幕內容還要解密。下面附 from bs4 import beauti...

b站彈幕的爬取以及詞云的簡單使用

1.分析發現,其彈幕都是通過list.so?cid這個檔案載入出來的,所以我們找到這個檔案的請求頭的請求url,3.上 解析 usr bin env python coding utf 8 author tom import requests from lxml import etree heade...

爬蟲專欄6 爬取B站彈幕

比如說這裡我隨便開乙個網頁 在xhr標籤裡面可以看到乙個小眼睛圖示的玩意兒,開啟那個url進去之後 就可以直接提取了 ps 1.針對匹配,乙個尖括號結束之後最好用.過渡到另乙個尖括號,不要什麼都不加,可能抓不出來 2.這是針對response.text和response.content.decode...