Python爬虫实战:爬取腾讯视频斗罗大陆弹幕并可视化
Python爬虫实战:爬取腾讯视频斗罗大陆弹幕并可视化
本教程将带你使用Python编写一个可运行的爬虫程序,爬取腾讯视频斗罗大陆第一集的弹幕数据,并进行词云图和Excel表格可视化分析。
主要功能:
- 加载第三方库:requests, BeautifulSoup4, lxml, sqlite3, jieba, WordCloud, openpyxl。
- 爬取腾讯视频斗罗大陆第一集的弹幕数据。
- 将弹幕数据保存到SQLite3数据库和Excel表格。
- 生成弹幕词云图进行可视化分析。
代码实现:
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 著作权归作者所有。请勿转载和采集!