Obtenga el nombre y la dirección de las 100 mejores obras en el ranking de la estación B por Crawler

¿Cómo rastrear los trabajos de clasificación diarios en tiempo real y las direcciones de la estación Xiaopo?

Abra la estación B y haga clic en la lista de clasificación de obras en la estación B para ingresar a la lista de clasificación.
Inserte la descripción de la imagen aquí
Haga clic con el botón derecho para verificar el código fuente y encontrar la posición del código fuente correspondiente de la obra. En este momento, conocemos la posición aproximada correspondiente de el trabajo en el código.
Inserte la descripción de la imagen aquí
Luego importe las solicitudes y BeautifulSoup en Pycharm

import requests
from bs4 import BeautifulSoup

Inserte la descripción de la imagen aquí
Debido a que la posición aproximada correspondiente a la obra está en el bloque div (class = 'info'), use find_all para encontrar esta posición de todas las obras. (La estación B no necesita obtener encabezados para disfrazar el encabezado para poder acceder con éxito)

url = 'https://www.bilibili.com/v/popular/rank/all'
res = requests.get(url)	# B站不用获取headers伪装头
name_list = []	
b_list = BeautifulSoup(res.text, 'lxml').find_all('div', class_='info')
print(b_list)

En este punto, se obtiene el código fuente en info. El
Inserte la descripción de la imagen aquí
trabajo y la dirección que necesitamos también están en él, por lo que debemos obtenerlo por segunda vez y configurar la variable q para recorrer el código. Reciba con la lista vacía name_list creada al principio, establezca la dirección de tipo put href.

for q in b_list:
    name_list.append(q.a.text)
    kind = q.find('a')

Finalmente, ordena la pantalla.

for i, x in enumerate(name_list):
    print(i+1, x+"\t"+'地址:'+kind['href']+'\n')

Inserte la descripción de la imagen aquí
¡Rastreo exitoso! La secuencia es número de serie + nombre del trabajo + dirección.

Supongo que te gusta

Origin blog.csdn.net/JasonZ227/article/details/109962293
Recomendado
Clasificación