es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Pasando una variable a través de URL usando una lista en Excel.

Soy un traductor de español que traduce documentos de informática. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown.

Soy muy nuevo en Python y tengo un poco de dificultad para pasar una variable a través de una URL usando una lista de Excel y luego crear un bucle.

Probé mi primer código y usé una variable y funcionó. También probé mi segundo código y pude ver mi lista de números UPC.

Estoy usando este código para raspar datos del producto usando un número UPC

import requests
import json

id = 5010993689026

headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Accept-Encoding': 'gzip,deflate',

}
resp = requests.get(f'https://api.upcitemdb.com/prod/trial/lookup?upc={id}', headers=headers)
data = json.loads(resp.text)
for item in data['items']:
  print("{}\t{}\t{}\t{}-{}".format(item['ean'], item['title'], item['brand'], item['lowest<em>recorded</em>price'], item['highest<em>recorded</em>price']))
  for offer in item['offers']:
    print("{}\t{}\t{}".format(offer['domain'], offer['title'], offer['price']))

También tengo un código que contiene varios números UPC:

“`import pandas as pd
from pandas import ExcelFile
from openpyxl import load_workbook

xl = pd.ExcelFile("C:/Users/Cody Sparrow/Desktop/Collection.xlsx")
df = xl.parse("Sheet1")
for i in df.index:
print(df['Barcode'])
“`

¿Qué necesito hacer para unirlos y crear un bucle? Cualquier ayuda es muy apreciada.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para pasar una variable a través de una URL utilizando una lista de Excel y luego ejecutar un bucle, puede modificar el segundo código para leer los números UPC del archivo de Excel y pasar cada uno de ellos a través de la URL utilizando el primer código. Aquí hay una forma de hacerlo:

    import requests
    import json
    import pandas as pd
    
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'Accept-Encoding': 'gzip,deflate',
    }
    
    xl = pd.ExcelFile("C:/Users/Cody Sparrow/Desktop/Collection.xlsx")
    df = xl.parse("Sheet1")
    
    for upc in df['Barcode']:
        resp = requests.get(f'https://api.upcitemdb.com/prod/trial/lookup?upc={upc}', headers=headers)
        data = json.loads(resp.text)
        for item in data['items']:
            print("{}\t{}\t{}\t{}-{}".format(item['ean'], item['title'], item['brand'], item['lowest_recorded_price'], item['highest_recorded_price']))
            for offer in item['offers']:
                print("{}\t{}\t{}".format(offer['domain'], offer['title'], offer['price']))
    

    En este código, primero importamos los módulos necesarios y definimos los encabezados que necesitamos enviar con la solicitud. Luego leemos el archivo de Excel y extraemos los números UPC de la columna ‘Código de barras’ utilizando un bucle. Para cada número UPC, enviamos una solicitud GET a la URL requerida pasando el número UPC como parámetro. Luego analizamos la respuesta JSON y extraemos los datos requeridos utilizando un bucle anidado. Finalmente, imprimimos los datos extraídos en la consola.

    Puede guardar este código en un archivo de Python y ejecutarlo en su entorno de Python preferido. Esto debería darle la salida deseada al pasar cada número UPC a través de la URL y raspando los datos del producto requeridos.

Comments are closed.