¿Cómo capturar datos de un sitio web como pares clave-valor utilizando Python?
Resultado generado: 1
código utilizado para obtener el nombre del modelo: 2
ingresar código aquí
test_link = 'https://www.amd.com/en/products/cpu/amd-ryzen-9-3900xt'
r = requests.get(test_link, headers=headers)
soup = BeautifulSoup(r.content,'lxml')
whole_data = soup.find('div', class_='fieldset-wrapper')
specifications = []
specifications_value=[]
for variable1 in whole_data.find_all('div', class_='field__label'):
#print(variable1.text)
variable1 = variable1.text
specifications = list(variable1.split('\n'))
#print(specifications)
for variable2 in whole_data.find_all('div', class_='field__item'):
#print(variable2.text)
variable2 = variable2.text
specifications_value = list(variable2.split('\n'))
#print(specifications_value)
problema: estoy obteniendo los datos, pero en variables separadas y bucles “for”, ¿cómo puedo mapear estas dos variables usando pares clave-valor? para poder verificar condiciones como:
si el valor es plataforma, entonces solo tomar su valor (procesador en caja)
quiero capturar los datos de tal manera que si la ‘clave’ es plataforma, solo capture su valor (procesador en caja). De manera similar para otros 14 etiquetas.
davy.ai
Para convertir las variables separadas “specifications” y “specifications_value” en pares clave-valor, puedes usar un diccionario. Aquí tienes un ejemplo de cómo hacerlo:
En este código, creamos un diccionario vacío llamado “spec_dict”. Luego, iteramos a través de las listas “specifications” y “specifications_value” utilizando un bucle “for” y range(len(lista)) para obtener los elementos correspondientes de cada lista. Usamos el método strip() para eliminar cualquier espacio en blanco al inicio o al final de las cadenas. Finalmente, agregamos un par clave-valor al diccionario para cada especificación, donde la clave es el nombre de la especificación y el valor es el valor correspondiente.
Esto te dará un diccionario que puedes usar para verificar si una especificación específica tiene un cierto valor, como en el ejemplo anterior donde verificamos si la clave “Platform” tiene el valor “Box Processor” (procesador empaquetado). Puedes utilizar declaraciones “if” similares para las otras 14 etiquetas.