爬取B站「冰冰vlog 001「評論 做詞云

2021-10-13 20:47:53 字數 3480 閱讀 5386

python小白,純屬來玩的(狗頭)

requests

bs4jieba

wordcloud

imageio

matplotlib

**直接貼上了,自行研究

import requests

import time

from bs4 import beautifulsoup

import json

defget_html

(url)

: headers =

r = requests.get(url, timeout=

30,headers=headers)

r.raise_for_status(

) r.endcodding =

'utf-8'

return r.text

defget_content

(url)

: comments =

html = get_html(url)

try:

s=json.loads(html)

except

:print

("jsonload error"

)

num=

len(s[

'data'][

'replies'])

i=0while icomment=s[

'data'][

'replies'

][i]

infodict=

infodict[

'uname'

]=comment[

'member'][

'uname'

] infodict[

'like'

]=comment[

'like'

] infodict[

'content'

]=comment[

'content'][

'message'

] infodict[

'time'

]=time.strftime(

"%y-%m-%d %h:%m:%s"

,time.localtime(comment[

'ctime'])

) i=i+

1return comments

defout2file

(dict):

with

open

('bilibilicomments.txt'

,'a+'

,encoding=

'utf-8'

)as f:

i=0for comment in

dict

: i=i+

1try

: f.write(

.format

( comment[

'uname'

], comment[

'like'

], comment[

'content'

], comment[

'time'])

) f.write(

"-----------------\n"

)except

:print

("out2file error"

)print

('當前頁面儲存完成'

)if __name__ ==

'__main__'

: e=

0 page=

1while e ==0:

url =

""+str

(page)

+"&type=1&oid=800760067&sort=2"

try:

print()

content=get_content(url)

print

("page:"

,page)

out2file(content)

page=page+

1# 為了降低被封ip的風險,每爬20頁便歇5秒。

if page%

10==0:

time.sleep(5)

except

: e=

1

這個需要先有個,隨便網上找,然後和py放在乙個資料夾下。

)

還是那句話,冰冰真可愛(狗頭)

爬取B站「冰冰vlog 001「評論 做詞云

python小白,純屬來玩的 狗頭 requests bs4jieba wordcloud imageio matplotlib 直接貼上了,自行研究 import requests import time from bs4 import beautifulsoup import json def ...

用Python爬取王冰冰vlog彈幕並製作詞云

最近的 瓜 多到我們措手不及,可謂是 熱點不斷 作為程式設計師,我們還可能隨時為此而加班。1.網頁解析 網頁結構可能隨時會發生變化。2.python第三方api 可能會有維護跟不上的問題。經過簡單對比,我選擇第一種方法。獲取資訊 defget page self try 延時操作,防止太快爬取 ti...

爬取B站彈幕

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