EAN Code für große Anzahl an Artikel ermitteln
Hi,
Habe versucht meine Artikel wo ich nur den Hersteller und Model mit Config habe den EAN zu ermitteln.
Leider gelingt mir dies nicht ganz über ICECAT oder Google.
Hat jemand vielleicht eine Idee wie ich den EAN von mehreren Artikel ermitteln kann nur mittels Herstellername, Model und Ausstattung?
Habe es ansatzweise mit diesem Code versucht umzusetzen aber ist nicht zu 100% erfolgreich
Habe versucht meine Artikel wo ich nur den Hersteller und Model mit Config habe den EAN zu ermitteln.
Leider gelingt mir dies nicht ganz über ICECAT oder Google.
Hat jemand vielleicht eine Idee wie ich den EAN von mehreren Artikel ermitteln kann nur mittels Herstellername, Model und Ausstattung?
Habe es ansatzweise mit diesem Code versucht umzusetzen aber ist nicht zu 100% erfolgreich
import pandas as pd
import openpyxl
import requests
import time
from bs4 import BeautifulSoup
# create a Workbook object for the input file
wb = openpyxl.load_workbook('/import_XLS/product_names.xlsx')
# get the first worksheet
ws = wb.active
# create a Pandas DataFrame from the worksheet
df = pd.DataFrame(ws.values)
# add column headers (assuming they're in the first row)
df.columns = df.iloc[0]
# remove the first row (the headers)
df = df[1:]
# add EAN codes to new column in DataFrame
ean_list = []
for name in df['Product Name']:
query = name + " ean"
response = requests.get("https://icecat.biz/search?q=" + query)
soup = BeautifulSoup(response.text, 'html.parser')
result = soup.find_all('div', class_='BNeawe iBp4i AP7Wnd')
if len(result) > 1 and "ean" in result[1].text:
ean = result[1].text.split("ean ")[-1].split()[0]
else:
ean = ''
ean_list.append(ean)
time.sleep(10.5) # to avoid hitting the rate limit of the API
df['EAN Code'] = ean_list
# write DataFrame to a new Excel file
writer = pd.ExcelWriter('/import_XLS/product_names_EAN.xlsx', engine='xlsxwriter')
df.to_excel(writer, index=False)
writer.save()
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6678654998
Url: https://administrator.de/contentid/6678654998
Ausgedruckt am: 21.11.2024 um 15:11 Uhr
11 Kommentare
Neuester Kommentar
den Versuch würde ich gerne sehen. Ein schneller Test rein aus Neugier von mir war sehr erfolgreich
Zitat von @Kraemer:
den Versuch würde ich gerne sehen. Ein schneller Test rein aus Neugier von mir war sehr erfolgreich
den Versuch würde ich gerne sehen. Ein schneller Test rein aus Neugier von mir war sehr erfolgreich
Dito hier ebenfalls! Einfacher geht's ja nun wirklich nicht ...
https://www.ean-search.org/ean-api-intro.html
Mit ean-search erhalte ich keine Infos
Du hast ja auch nicht die API benutzt ... Siehe Link oben der Code dort klappt einwandfrei.Wenn man es manuell von deren Seite "klauben" will, geht z.B. so aber halt auch nur begrenzt bis sie dich sperren, => API Key holen .
import requests,re
search = "Samsung SSD 980 Pro 1TB"
baseurl = "https://www.ean-search.org"
raw = requests.get(baseurl,params={"q" : search},headers={"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0"})
raw.encoding = raw.apparent_encoding
results = re.finditer('href="/ean/(\d+)[^>]*>([^<]+)',raw.text)
for m in results:
print('%s : %s' % (m.group(1),m.group(2)))
Zitat von @interface31:
mein Problem ist halt das ich nicht immer die eindeutige Bezeichnung habe.
Gerade bei z.Bsp. DELL Latitude 5280 gibt ja ja zig Ausstattungen und dann Keyboard Layouts.
Naja dann musst du die halt dazu schreiben oder die Hersteller ArtikelNr. nehmen.mein Problem ist halt das ich nicht immer die eindeutige Bezeichnung habe.
Gerade bei z.Bsp. DELL Latitude 5280 gibt ja ja zig Ausstattungen und dann Keyboard Layouts.
Selbst wenn ich teilweise die Infos habe ist es kein 100% Treffer mit etwas Glück.
Das ist eben so wenn man keine exakten Daten wie die Hersteller Produktnummer hat können auch keine exakten Daten zurückgeliefert werden.So oder so musst du die EANs bei dieser Art Suche eh alle von Hand nachkontrollieren, oder du besorgst dir die Datenbank des jeweiligen Herstellers und gleichst damit ab.
Oder du probierst mal die ChatGPT/Bard API.