Python obtiene los datos de búsqueda de un video corto y los guarda en Excel

Python obtiene los datos de búsqueda de un video corto y los guarda en Excel

1. Consigue el objetivo y prepárate para el trabajo

1. Objetivo de adquisición: este objetivo del tutorial de adquisición: una búsqueda activa de video breve

2. Preparación

  • entorno python3.x
  • peticiones
  • pandas

       Requests y Pandas son las bibliotecas requeridas para este tutorial. Requests se usa para simular solicitudes http y Pandas se usa para el procesamiento de datos (guarde los resultados como Excel).

  • Abra la página solicitada en el navegador Chrome y presione F12 para abrir la consola del navegador. Haga clic en Red para seleccionar la red y luego haga clic en XHR. Encuentre la solicitud XHR correspondiente y podrá obtener la interfaz de datos de búsqueda activa.

2. Comienza a programar

  1. Importar bibliotecas dependientes
import requests
import pandas as pd
  1. Construya un encabezado de solicitud:
browse_header = {
    
    
    "Accept": "application/json, text/plain, */*",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36",
    "Host": "www.douyin.com",
    "Referer": "https://www.douyin.com/discover",
    "Cookie": "_xsrf=Pd0NpG6J8kZdHtzBVnNyQP1g0rO7NKeg; _zap=d7f27b9f-4fe3-4ef4-9376-df278af16940;"
}
  1. Definir una interfaz de solicitud, es decir, la dirección de datos
url = "https://www.douyin.com/aweme/v1/web/hot/search/list/?device_platform=webapp&aid=6383&channel=channel_pc_web"
  1. Envíe la solicitud, ya que la interfaz devuelve el formato JSON, así que aquí hay un paso y el resultado de la respuesta también se convierte al formato JSON.
res = requests.get(url, headers=browse_header).json()
  1. Extraiga la lista de datos de búsqueda activa.
# 实时上升热点列表
content_list = res['data']['word_list']
  1. Luego realice el análisis json por separado, los campos correspondientes (título, clasificación, índice de búsqueda activa, descripción, dirección del enlace).
df = pd.DataFrame(  # 拼装爬取到的数据为DataFrame
	{
    
    
		'热搜标题': title_list,
		'热搜排名': order_list,
		'热搜指数': score_list,
		'描述': desc_list,
		'链接地址': url_list
	}
)
df.to_excel('百度热搜榜.xlsx', index=False)  # 保存结果数据

Nota: en este código, la dirección del enlace devuelto es un poco diferente, tenemos que hacer algunos ajustes: los ajustes son los siguientes:
url_list.append(f"https://www.douyin.com/hot/{content['sentence_id']}")

Código completo:

import requests
import pandas as pd


browse_header = {
    
    
    "Accept": "application/json, text/plain, */*",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36",
    "Host": "www.douyin.com",
    "Referer": "https://www.douyin.com/discover",
    "Cookie": "_xsrf=Pd0NpG6J8kZdHtzBVnNyQP1g0rO7NKeg; _zap=d7f27b9f-4fe3-4ef4-9376-df278af16940;"
}

url = "https://www.douyin.com/aweme/v1/web/hot/search/list/?device_platform=webapp&aid=6383&channel=channel_pc_web"

res = requests.get(url, headers=browse_header).json()
# 实时上升热点
content_list = res['data']['word_list']
title_list = []
order_list = []
score_list = []
desc_list = []
url_list = []
index = 0
for content in content_list:
    index += 1
    order_list.append(content['position'])
    title_list.append(content['word'])
    score_list.append(content['hot_value'])
    desc_list.append(content['word'])
    url_list.append(f"https://www.douyin.com/hot/{
      
      content['sentence_id']}")

df = pd.DataFrame({
    
    
    '热搜标题': title_list,
    '热搜排名': order_list,
    '热搜热度': score_list,
    '描述': desc_list,
    '链接地址': url_list
})
df.to_excel('抖音热搜榜.xlsx', index=False)  # 保存结果数据

Finalmente, verifique los datos obtenidos:
inserte la descripción de la imagen aquí
un total de 50 datos.

Supongo que te gusta

Origin blog.csdn.net/qq_43762932/article/details/131307467
Recomendado
Clasificación