Ayuda codigo para scraping
Publicado por Miguel (1 intervención) el 23/09/2021 16:07:31
Tengo hecho un código para hacer scraping que funciona bien si el imputed_data es alfanumérico. Cuando únicamente es numérico me lanza este error << AttributeError: 'int' object has no attribute 'upper' >>
Entiendo que al ser numérico no encuentra como hacer mayúsculas pero no se como cambiar esa parte. El código completo es es siguiente:
# Import necessary modules
from bs4 import BeautifulSoup
import requests
import pandas
inputed_data = pandas.read_excel("Datos prueba.xlsx")
scraped_data = []
total = len(inputed_data['Internal Key'])
print(f"Found {total} companies to scrape. Starting to scrap.")
n = 1
for each in inputed_data['Internal Key']:
res = requests.get(f"https://www.stoxx.com/component-details?key={each.upper()}")
soup = BeautifulSoup(res.content, 'lxml')
subsector = soup.select(".last td")[1].getText().strip()
scraped_data.append(subsector)
print(f"Got {n} companies data out of {total} companies")
n += 1
inputed_data['Subsector'] = scraped_data
inputed_data.to_excel("Datos raspados.xlsx", index=False)
print("Finished scraping! Saved the data in \"Datos raspados.xlsx\" file")
¿Puede alguien ayudarme? Gracias.
Entiendo que al ser numérico no encuentra como hacer mayúsculas pero no se como cambiar esa parte. El código completo es es siguiente:
# Import necessary modules
from bs4 import BeautifulSoup
import requests
import pandas
inputed_data = pandas.read_excel("Datos prueba.xlsx")
scraped_data = []
total = len(inputed_data['Internal Key'])
print(f"Found {total} companies to scrape. Starting to scrap.")
n = 1
for each in inputed_data['Internal Key']:
res = requests.get(f"https://www.stoxx.com/component-details?key={each.upper()}")
soup = BeautifulSoup(res.content, 'lxml')
subsector = soup.select(".last td")[1].getText().strip()
scraped_data.append(subsector)
print(f"Got {n} companies data out of {total} companies")
n += 1
inputed_data['Subsector'] = scraped_data
inputed_data.to_excel("Datos raspados.xlsx", index=False)
print("Finished scraping! Saved the data in \"Datos raspados.xlsx\" file")
¿Puede alguien ayudarme? Gracias.
Valora esta pregunta


0