Python爬虫实战:爬取腾讯视频斗罗大陆弹幕并可视化

本教程将带你使用Python编写一个可运行的爬虫程序,爬取腾讯视频斗罗大陆第一集的弹幕数据,并进行词云图和Excel表格可视化分析。

主要功能:

  1. 加载第三方库:requests, BeautifulSoup4, lxml, sqlite3, jieba, WordCloud, openpyxl。
  2. 爬取腾讯视频斗罗大陆第一集的弹幕数据。
  3. 将弹幕数据保存到SQLite3数据库和Excel表格。
  4. 生成弹幕词云图进行可视化分析。

代码实现:

import requests
from bs4 import BeautifulSoup
import sqlite3
import jieba
from wordcloud import WordCloud
import openpyxl

# 爬取腾讯视频斗罗大陆第一集弹幕
url = 'https://v.qq.com/x/cover/mzc00200v1y7s6c.html'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'lxml')
danmu_list = soup.find_all('div', class_='list_item')

# 将弹幕信息保存到SQLite3数据库中
conn = sqlite3.connect('danmu.db')
cursor = conn.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS danmu (content TEXT)')
for danmu in danmu_list:
    content = danmu.text.strip()
    cursor.execute('INSERT INTO danmu (content) VALUES (?)', (content,))
conn.commit()
conn.close()

# 生成弹幕词云图
conn = sqlite3.connect('danmu.db')
cursor = conn.cursor()
cursor.execute('SELECT content FROM danmu')
text = ' '.join([row[0] for row in cursor])
words = jieba.cut(text)
wordcloud = WordCloud(width=800, height=800, background_color='white').generate(' '.join(words))
wordcloud.to_file('wordcloud.png')
conn.close()

# 将弹幕信息保存到Excel表中
conn = sqlite3.connect('danmu.db')
cursor = conn.cursor()
cursor.execute('SELECT content FROM danmu')
wb = openpyxl.Workbook()
ws = wb.active
ws.title = 'danmu'
ws.cell(row=1, column=1, value='弹幕内容')
for i, row in enumerate(cursor, start=2):
    ws.cell(row=i, column=1, value=row[0])
wb.save('danmu.xlsx')
conn.close()

请注意:

  • 本代码仅供学习交流使用,请勿用于任何商业用途。
  • 网站结构可能会发生变化,导致代码失效,请根据实际情况修改代码。

原文地址: https://www.cveoy.top/t/topic/f1dn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录