El aluvión está lleno de "segundos pinceles", ¿qué tan bueno es este espectáculo? Utilice Python para recopilar un aluvión de 1,1 W y realizar análisis de nubes de palabras

Introducción al entorno

python 3.8 solicitudes de
pycharm
>>> solicitudes de instalación de pip
pyecharts >>> instalación de pip pyecharts

Colección de video aluvión

solicitar datos

headers = {
    
    
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36'
}
for page in range(15, 1500, 30):
    url = f'https://mfm.XXXX.com/danmu?otype=json&target_id=7712618480%26vid%3Dg00423lkmas&session_key=0%2C0%2C0&timestamp={
      
      page}&_=1647931110703'

    response = requests.get(url=url, headers=headers)

Obtener datos de una cadena en un diccionario (contenedor)

json_data = response.json()

Datos analíticos

for comment in json_data['comments']:
    commentid = comment['commentid']
    opername = comment['opername']
    content = comment['content']

guardar datos

with open('弹幕.csv', encoding='utf-8-sig', mode='a', newline='') as f:
    csv_writer = csv.writer(f)
    csv_writer.writerow([commentid, opername, content])

Ejecute el código y obtenga más de 1 W de datos de bombardeo

visualización de nube de palabras

Datos de importacion

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

nube de palabras

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()

Supongo que te gusta

Origin blog.csdn.net/m0_48405781/article/details/123721853
Recomendado
Clasificación