欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python爬取雪中悍刀行彈幕分析并可視化詳程

 更新時間:2022年01月26日 15:00:50   作者:嗨學編程  
這篇文章主要介紹了用Python爬蟲+數(shù)據(jù)分析+數(shù)據(jù)可視化,分析《雪中悍刀行》彈幕,本文很適合初學python的同學入門閱讀,需要的朋友可以參考下

嗶嗶一下

雪中悍刀行兄弟們都看過了嗎?感覺看了個寂寞,但又感覺還行,原諒我沒看過原著小說~

豆瓣評分5.8,說明我還是沒說錯它的。

當然,這并不妨礙它波播放量嘎嘎上漲,半個月25億播放,平均一集一個億,就是每天只有一集有點難受。

我們今天就來采集一下它的彈幕,實現(xiàn)數(shù)據(jù)可視化,看看彈幕文化都輸出了什么~

爬蟲部分

我們將它的彈幕先采集下來,保存到Excel表格~

首先安裝一下這兩個模塊

requests     # 發(fā)送網(wǎng)絡請求
pandas as pd # 保存數(shù)據(jù)

不會安裝模塊移步主頁看我置頂文章,有專門詳細講解安裝模塊問題。

代碼部分

import requests     # 發(fā)送網(wǎng)絡請求
import pandas as pd # 保存數(shù)據(jù)

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}
# 構建一個列表儲存數(shù)據(jù)
data_list = []
for page in range(15, 1500, 30):
    try:
        url = f'https://mfm.video.qq.com/danmu?otype=json&target_id=7626435152%26vid%3Dp0041oidttf&session_key=0%2C174%2C1642248894&timestamp={page}'
        # 1. 發(fā)送網(wǎng)絡請求
        response = requests.get(url=url, headers=headers)
        # 2. 獲取數(shù)據(jù) 彈幕內容 <Response [200]>: 告訴我們響應成功
        json_data = response.json()
        # print(json_data)
        # 3. 解析數(shù)據(jù)(篩選數(shù)據(jù)) 提取想要的一些內容 不想要的忽略掉
        comments = json_data['comments']
        for comment in comments:
            data_dict = {}
            data_dict['commentid'] = comment['commentid']
            data_dict['content'] = comment['content']
            data_dict['opername'] = comment['opername']
            print(data_dict)
            data_list.append(data_dict)
    except:
        pass
# 4. 保存數(shù)據(jù) wps 默認以gbk的方式打開的
df = pd.DataFrame(data_list)
# 亂碼, 指定編碼 為 utf-8 或者是 gbk 或者 utf-8-sig
df.to_csv('data.csv', encoding='utf-8-sig', index=False)

效果展示

數(shù)據(jù)可視化

數(shù)據(jù)到手了,咱們就開始制作詞云圖分析了。

這兩個模塊需要安裝一下

jieba
pyecharts

代碼展示

import jieba
from pyecharts.charts import WordCloud
import pandas as pd
from pyecharts import options as opts

wordlist = []
data = pd.read_csv('data.csv')['content']
data

data_list = data.values.tolist()
data_str = ' '.join(data_list)
words = jieba.lcut(data_str)

for word in words:
    if len(word) > 1:
        wordlist.append({'word':word, 'count':1})
df = pd.DataFrame(wordlist)

dfword = df.groupby('word')['count'].sum()
dfword2 = dfword.sort_values(ascending=False)

dfword = df.groupby('word')['count'].sum()
dfword2 = dfword.sort_values(ascending=False)

dfword3['word'] = dfword3.index
dfword3

word = dfword3['word'].tolist()
count = dfword3['count'].tolist()

a = [list(z) for z in zip(word, count)]
c = (
    WordCloud()
    .add('', a, word_size_range=[10, 50], shape='circle')
    .set_global_opts(title_opts=opts.TitleOpts(title="詞云圖"))
)
c.render_notebook()

效果展示

詞云圖效果

可以看到,這條、暴富和最后三個評論數(shù)據(jù)最多,咱們看看統(tǒng)計數(shù)據(jù)。

視頻講解

所有步驟都在視頻有詳細講解

Python爬蟲+數(shù)據(jù)分析+數(shù)據(jù)可視化(分析《雪中悍刀行》彈幕)

福利環(huán)節(jié)

彈幕和詞云圖都有了,沒有視頻就說不過去,代碼我整出來了,大家可以自己去試試,我就不展示了,展示了你們就看不到了。

import requests
import re
from tqdm import tqdm

url = 'https://vd.l.qq.com/proxyhttp'
data = {
    'adparam': "pf=in&ad_type=LD%7CKB%7CPVL&pf_ex=pc&url=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fmzc0020036ro0ux%2Fc004159c18o.html&refer=https%3A%2F%2Fv.qq.com%2Fx%2Fsearch%2F&ty=web&plugin=1.0.0&v=3.5.57&coverid=mzc0020036ro0ux&vid=c004159c18o&pt=&flowid=55e20b5f153b460e8de68e7a25ede1bc_10201&vptag=www_baidu_com%7Cx&pu=-1&chid=0&adaptor=2&dtype=1&live=0&resp_type=json&guid=58c04061fed6ba662bd7d4c4a7babf4f&req_type=1&from=0&appversion=1.0.171&uid=115600983&tkn=3ICG94Dn33DKf8LgTEl_Qw..&lt=qq&platform=10201&opid=03A0BB50713BC1C977C0F256056D2E36&atkn=75C3D1F2FFB4B3897DF78DB2CF27A207&appid=101483052&tpid=3&rfid=f4e2ed2359bc13aa3d87abb6912642cf_1642247026",
    'buid': "vinfoad",
    'vinfoparam': "spsrt=1&charge=1&defaultfmt=auto&otype=ojson&guid=58c04061fed6ba662bd7d4c4a7babf4f&flowid=55e20b5f153b460e8de68e7a25ede1bc_10201&platform=10201&sdtfrom=v1010&defnpayver=1&appVer=3.5.57&host=v.qq.com&ehost=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fmzc0020036ro0ux%2Fc004159c18o.html&refer=v.qq.com&sphttps=1&tm=1642255530&spwm=4&logintoken=%7B%22main_login%22%3A%22qq%22%2C%22openid%22%3A%2203A0BB50713BC1C977C0F256056D2E36%22%2C%22appid%22%3A%22101483052%22%2C%22access_token%22%3A%2275C3D1F2FFB4B3897DF78DB2CF27A207%22%2C%22vuserid%22%3A%22115600983%22%2C%22vusession%22%3A%223ICG94Dn33DKf8LgTEl_Qw..%22%7D&vid=c004159c18o&defn=&fhdswitch=0&show1080p=1&isHLS=1&dtype=3&sphls=2&spgzip=1&dlver=2&drm=32&hdcp=0&spau=1&spaudio=15&defsrc=1&encryptVer=9.1&cKey=1WuhcCc07Wp6JZEItZs_lpJX5WB4a2CdS8kEoQvxVaqtHEZQ1c_W6myJ8hQOnmDFHMUnGJTDNTvp2vPBr-xE-uhvZyEMY131vUh1H4pgCXe2Op8F_DerfPItmE508flzsHwnEERQEN_AluNDEH6IC8EOljLQ2VfW2sTdospNPlD9535CNT9iSo3cLRH93ogtX_OJeYNVWrDYS8b5t1pjAAuGkoYGNScB_8lMah6WVCJtO-Ygxs9f-BtA8o_vOrSIjG_VH7z0wWI3--x_AUNIsHEG9zgzglpES47qAUrvH-0706f5Jz35DBkQKl4XAh32cbzm4aSDFig3gLiesH-TyztJ3B01YYG7cwclU8WtX7G2Y6UGD4Z1z5rYoM5NpAQ7Yr8GBgYGBgZKAPma&fp2p=1&spadseg=3"
}
headers = {
    'cookie': 'pgv_pvid=7300130020; tvfe_boss_uuid=242c5295a1cb156d; appuser=BF299CB445E3A324; RK=6izJ0rkfNn; ptcz=622f5bd082de70e3e6e9a077923b48f72600cafd5e4b1e585e5f418570fa30fe; ptui_loginuin=1321228067; luin=o3452264669; lskey=000100003e4c51dfb8abf410ca319e572ee445f5a77020ba69d109f47c2ab3d67e58bd099a40c2294c41dbd6; o_cookie=3452264669; uid=169583373; fqm_pvqid=89ea2cc7-6806-4091-989f-5bc2f2cdea5c; fqm_sessionid=7fccc616-7386-4dd4-bba5-26396082df8d; pgv_info=ssid=s2517394073; _qpsvr_localtk=0.13663981383113954; login_type=2; vversion_name=8.2.95; video_omgid=d91995430fa12ed8; LCZCturn=798; lv_play_index=39; o_minduid=9ViQems9p2CBCM5AfqLWT4aEa-btvy40; LPSJturn=643; LVINturn=328; LPHLSturn=389; LZTturn=218; ufc=r24_7_1642333009_1642255508; LPPBturn=919; LPDFturn=470',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
}
response = requests.post(url=url, json=data, headers=headers)
html_data = response.json()['vinfo']
print(html_data)
m3u8_url = re.findall('url":"(.*?)",', html_data)[3]
m3u8_data = requests.get(url=m3u8_url).text
m3u8_data = re.sub('#E.*', '', m3u8_data).split()
for ts in tqdm(m3u8_data):
    ts_1 = 'https://apd-327e87624fa9c6fc7e4593b5030502b1.v.smtcdns.com/vipts.tc.qq.com/AaFUPCn0gS17yiKCHnFtZa7vI5SOO0s7QXr0_3AkkLrQ/uwMROfz2r55goaQXGdGnC2de645-3UDsSmF-Av4cmvPV0YOx/svp_50112/vaemO__lrQCQrrgtQzL5v1kmLVKQZEaG2UBQO4eMRu4BAw6vBUoD1HAf7yUD8BtrL3NLr7bf9yrfSaqK5ufP8vmfEejwt0tuD8aNhyny1M-GJ8T1L1qi0R47t-v8KxV0ha-jJhALtc2N3tgRaTSfRwXwJ_vQObnhIdbyaVlJ2DzvMKoIlKYb_g/'
    ts_url = ts_1 + ts
    ts_content = requests.get(url=ts_url).content
    with open('斗破12.mp4', mode='ab') as f:
        f.write(ts_content)
print('斗破下載完成')

到此這篇關于Python爬取雪中悍刀行彈幕分析并可視化詳程的文章就介紹到這了,更多相關Python 爬取雪中悍刀行內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Pytorch自動求導函數(shù)詳解流程以及與TensorFlow搭建網(wǎng)絡的對比

    Pytorch自動求導函數(shù)詳解流程以及與TensorFlow搭建網(wǎng)絡的對比

    PyTorch是一個開源的Python機器學習庫,基于Torch,用于自然語言處理等應用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch,這篇文章主要介紹了Pytorch自定義自動求導函數(shù),以及PyTorch與TensorFlow搭建網(wǎng)絡的對比
    2021-11-11
  • python實現(xiàn)socket+threading處理多連接的方法

    python實現(xiàn)socket+threading處理多連接的方法

    今天小編就為大家分享一篇python實現(xiàn)socket+threading處理多連接的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python基礎教程之錯誤和異常的處理方法

    Python基礎教程之錯誤和異常的處理方法

    程序在運行時,如果python解釋器遇到一個錯誤,會停止程序的執(zhí)行,并且提示一些錯誤信息,這就是異常,下面這篇文章主要給大家介紹了關于Python基礎教程之錯誤和異常的處理方法,需要的朋友可以參考下
    2022-05-05
  • Python換行與不換行的輸出實例

    Python換行與不換行的輸出實例

    這篇文章主要介紹了Python換行與不換行的輸出實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python?列表的查詢操作和切片

    python?列表的查詢操作和切片

    這篇文章主要介紹了python?列表的查詢操作和切片,列表是python內置的數(shù)據(jù)結構,相當于數(shù)組,列表中所有數(shù)據(jù)都是按順序有序排列,列表屬于序列類型,接下來一起學習下面的文章內容吧
    2022-01-01
  • 在SAE上部署Python的Django框架的一些問題匯總

    在SAE上部署Python的Django框架的一些問題匯總

    這篇文章主要介紹了在SAE上部署Python的Django框架的一些問題匯總,SAE是新浪的一個在線APP部署平臺,并且對Python應用提供相關支持,需要的朋友可以參考下
    2015-05-05
  • python實現(xiàn)提取COCO,VOC數(shù)據(jù)集中特定的類

    python實現(xiàn)提取COCO,VOC數(shù)據(jù)集中特定的類

    這篇文章主要介紹了python實現(xiàn)提取COCO,VOC數(shù)據(jù)集中特定的類,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 基于Python實現(xiàn)身份證信息識別功能

    基于Python實現(xiàn)身份證信息識別功能

    身份證是用于證明個人身份和身份信息的官方證件,在現(xiàn)代社會中,身份證被廣泛應用于各種場景,如就業(yè)、教育、醫(yī)療、金融等,它包含了個人的基本信息,本文給大家介紹了如何基于Python實現(xiàn)身份證信息識別功能,感興趣的朋友可以參考下
    2024-01-01
  • 自動在Windows中運行Python腳本并定時觸發(fā)功能實現(xiàn)

    自動在Windows中運行Python腳本并定時觸發(fā)功能實現(xiàn)

    講一下在Python中寫好了一個腳本之后,怎么自動雙擊一個程序自動就跑起來。以及,怎么在Windows 10中設計定期定時觸發(fā)并跑腳本,有需要的朋友可以參考下
    2021-09-09
  • Pycharm添加虛擬解釋器報錯問題解決方案

    Pycharm添加虛擬解釋器報錯問題解決方案

    這篇文章主要介紹了Pycharm添加虛擬解釋器報錯問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10

最新評論