真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python如何爬取bilibili的彈幕制作詞云

這篇文章將為大家詳細(xì)講解有關(guān)python如何爬取bilibili的彈幕制作詞云,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出白城免費(fèi)做網(wǎng)站回饋大家。

需要知道cid,可以F12,F5刷新,找cid,找到之后拼接url

也可以寫代碼,解析response獲取cid,然后再拼接

python如何爬取bilibili的彈幕制作詞云

python如何爬取bilibili的彈幕制作詞云

使用requests或者urllib都可以

我是用requests,請求該鏈接獲取到xml文件

python如何爬取bilibili的彈幕制作詞云

代碼:獲取xml

def get_data():
   res = requests.get('http://comment.bilibili.com/6315651.xml')
   res.encoding = 'utf8'
   with open('gugongdanmu.xml', 'a', encoding='utf8') as f:
       f.writelines(res.text)

解析xml,

def analyze_xml():
   f1 = open("gugongdanmu.xml", "r", encoding='utf8')
   f2 = open("tanmu2.txt", "w", encoding='utf8')
   count = 0
   # 正則匹配解決xml的多余的字符
   dr = re.compile(r'<[^>]+>', re.S)
   while 1:
       line = f1.readline()
       if not line:
           break
       pass
       # 匹配到之后用空代替
       dd = dr.sub('', line)
       # dd = re.findall(dr, line)
       count = count+1
       f2.writelines(dd)
   print(count)

去掉無用的字符和數(shù)字,找出所有的漢字

def analyze_hanzi():

   f1 = open("tanmu2.txt", "r", encoding='utf8')
   f2 = open("tanmu3.txt", "w",  encoding='utf8')
   count = 0
   # dr = re.compile(r'<[^>]+>',re.S)
   # 所有的漢字[一-龥]
   dr = re.compile(r'[一-龥]+',re.S)
   while 1:
       line = f1.readline()
       if not line:
           break
       pass
       # 找出無用的符號(hào)和數(shù)字
       # dd = dr.sub('',line)
       dd = re.findall(dr, line)
       count = count+1
       f2.writelines(dd)
   print(count)
   # pattern = re.compile(r'[一-龥]+')

使用jieba分詞,生成詞云

def show_sign():

   content = read_txt_file()
   segment = jieba.lcut(content)
   words_df = pd.DataFrame({'segment': segment})

   stopwords = pd.read_csv("stopwords.txt", index_col=False, quoting=3, sep=" ", names=['stopword'], encoding='utf-8')
   words_df = words_df[~words_df.segment.isin(stopwords.stopword)]
   print(words_df)
   print('-------------------------------')
   words_stat = words_df.groupby(by=['segment'])['segment'].agg(numpy.size)
   words_stat = words_stat.to_frame()
   words_stat.columns = ['計(jì)數(shù)']
   words_stat = words_stat.reset_index().sort_values(by=["計(jì)數(shù)"], ascending=False)

   # 設(shè)置詞云屬性
   color_mask = imread('ciyun.png')
   wordcloud = WordCloud(font_path="simhei.ttf",  # 設(shè)置字體可以顯示中文
                         background_color="white",  # 背景顏色
                         max_words=1000,  # 詞云顯示的最大詞數(shù)
                         mask=color_mask,  # 設(shè)置背景圖片
                         max_font_size=100,  # 字體最大值
                         random_state=42,
                         width=1000, height=860, margin=2,
                         # 設(shè)置圖片默認(rèn)的大小,但是如果使用背景圖片的話,                                                   # 那么保存的圖片大小將會(huì)按照其大小保存,margin為詞語邊緣距離
                         )

   # 生成詞云, 可以用generate輸入全部文本,也可以我們計(jì)算好詞頻后使用generate_from_frequencies函數(shù)
   word_frequence = {x[0]: x[1] for x in words_stat.head(1000).values}
   print(word_frequence)
   # for key,value in word_frequence:
   #     write_txt_file(word_frequence)
   word_frequence_dict = {}
   for key in word_frequence:
       word_frequence_dict[key] = word_frequence[key]

   wordcloud.generate_from_frequencies(word_frequence_dict)
   # 從背景圖片生成顏色值
   image_colors = ImageColorGenerator(color_mask)
   # 重新上色
   wordcloud.recolor(color_func=image_colors)
   # 保存圖片
   wordcloud.to_file('output.png')
   plt.imshow(wordcloud)
   plt.axis("off")
   plt.show()

運(yùn)行程序,結(jié)果:

python如何爬取bilibili的彈幕制作詞云

python如何爬取bilibili的彈幕制作詞云

統(tǒng)計(jì)的結(jié)果

python如何爬取bilibili的彈幕制作詞云

完成!

pip的換源,原來的太慢,然后將你自己沒有庫裝上

python如何爬取bilibili的彈幕制作詞云

關(guān)于“python如何爬取bilibili的彈幕制作詞云”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。


本文名稱:python如何爬取bilibili的彈幕制作詞云
標(biāo)題網(wǎng)址:http://weahome.cn/article/jpjijj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部