Re-Pricing Ebay mit API und EAN Code
Verfasst: Dienstag 14. August 2018, 20:29
Hallo zusammen,
ich bin vollkommener Neuling in Python und versuche mich an einem kleinen Projekt und steck leider fest. Vielleicht könnte mir jemand helfen?
Folgendes Ziel:
Ich habe eine TXT Datei, wo ich mehere EAN Codes aufgeführt habe. Diese sind pro Zeile ein EAN Code. Mit Hilfe von der eBay API soll über ein Script dann die Datei ausgelesen werden, über das Script und die API die Daten bei Ebay ausgelesen (Titel, Preis, Zustand) werden und anschließend alles als eine CSV Datei gespeichert werden.
Aktueller Status
2 Dateien
searches.txt
ebayapi.py
Problem:
Leider bekomme ich immer nur zum letzten Wert die ausgelesenen Daten angezeigt (egal ob open xxx "a" oder open xxx "w"). Ich bekomme es leider nicht hin, dass er mir die anderen EAN Nummern mit Daten auch in die Liste schreibt.
Hat hierzu vielleicht jemand eine Lösung?
Habt vielen Dank vorab
ich bin vollkommener Neuling in Python und versuche mich an einem kleinen Projekt und steck leider fest. Vielleicht könnte mir jemand helfen?
Folgendes Ziel:
Ich habe eine TXT Datei, wo ich mehere EAN Codes aufgeführt habe. Diese sind pro Zeile ein EAN Code. Mit Hilfe von der eBay API soll über ein Script dann die Datei ausgelesen werden, über das Script und die API die Daten bei Ebay ausgelesen (Titel, Preis, Zustand) werden und anschließend alles als eine CSV Datei gespeichert werden.
Aktueller Status
2 Dateien
- searches.txt
- ebayapi.py
searches.txt
Code: Alles auswählen
4015704268300
4015704268287
008562008168
008562016835
ebayapi.py
Code: Alles auswählen
key = 'HierKommtDeineEbayAPIrein'
import json
import requests
from lxml import html
import urllib3
import requests
import unicodecsv as csv
from traceback import format_exc
import csv
search_term = []
with open("searches.txt", 'r') as searchfile:
searches = searchfile.readlines()
print(searches)
for item1 in searches:
url = ('http://svcs.ebay.com/services/search/FindingService/v1\
?OPERATION-NAME=findItemsByKeywords\
&sortOrder=PricePlusShippingLowest\
&GLOBAL-ID=EBAY-DE&buyerPostalCode=22113&SERVICE-VERSION=1.13.0\
&SECURITY-APPNAME=' + key +
'&RESPONSE-DATA-FORMAT=JSON\
&REST-PAYLOAD\
&itemFilter(0).name=Condition\
&itemFilter(0).value=New\
&itemFilter(1).name=MaxPrice\
&itemFilter(1).value=100000.0\
&itemFilter(1).paramName=Currency\
&itemFilter(1).paramValue=EUR\
&keywords=' + item1)
apiResult = requests.get(url)
parseddoc = apiResult.json()
for item in (parseddoc["findItemsByKeywordsResponse"][0]["searchResult"][0]["item"]):
title = item["title"][0]
condition = item['condition'][0]['conditionDisplayName'][0]
price = item['sellingStatus'][0]['convertedCurrentPrice'][0]['__value__']
ean = 'item1'
# print(title + " " + price + " " + condition + " " + ean)
print ("Writing scraped data to ebay-scraped-data.csv")
with open('Repricing.csv', 'a') as myFile:
myFields = ["'title'","'condition'","'price'", "'ean'"]
writer = csv.DictWriter(myFile, fieldnames=myFields, delimiter=';', lineterminator='\n', quoting=csv.QUOTE_ALL)
writer.writeheader()
extract = []
for i in range(1):
for item in (parseddoc["findItemsByKeywordsResponse"][0]["searchResult"][0]["item"]):
title = item["title"][0]
condition = item['condition'][0]['conditionDisplayName'][0]
price = item['sellingStatus'][0]['convertedCurrentPrice'][0]['__value__']
ean = item1
data = {
"'title'": "'"+title+"'",
"'condition'": "'"+condition+"'",
"'price'": "'"+price+"'",
"'ean'": "'"+ean+"'"
}
extract.append(data)
writer.writerow(data)
# writer.writerow({"'title'": "'" + title + "'", "'condition'": "'" + condition + "'", "'price'": "'" + price + "'", "'ean'": "'" + ean + "'"})
Problem:
Leider bekomme ich immer nur zum letzten Wert die ausgelesenen Daten angezeigt (egal ob open xxx "a" oder open xxx "w"). Ich bekomme es leider nicht hin, dass er mir die anderen EAN Nummern mit Daten auch in die Liste schreibt.
Hat hierzu vielleicht jemand eine Lösung?
Habt vielen Dank vorab