Ich habe die Welle von Airpods Pro verpasst. Der Airpods Pro wurde Ende letzten Monats veröffentlicht, aber ich dachte, ich würde ihn kaufen, nachdem ich Sonys Beispiel Neucan und vergleichende Bewertungen gesehen hatte, aber als ich den Artikel las, war er ausverkauft. Es scheint, dass die Ankunft von Waren gelegentlich im direkt verwalteten Apple Store __ erfolgt. Überwachen Sie diese also und senden Sie eine Benachrichtigung __ an Ihre __LINE, sobald die Ankunft eintrifft.
Problem, wie man Lagerinformationen erhält Anscheinend wird es richtig aktualisiert, wenn es jeden Morgen ankommt
Klicken Sie auf Datum bestätigen, um diesen Bildschirm zu erhalten. Informationen zu Geschäften in der Nähe erhalten Sie durch Eingabe der Postleitzahl.
Mit diesem Gefühl scheint es, dass Sie es per GET oder POST erhalten können, schauen Sie sich also das Netzwerk an
Es gibt so etwas nicht wirklich
Sie können die Antwort in den Entwicklertools sehen Ich möchte das Verständnis erleichtern, daher werde ich versuchen, Informationen mit einer Anwendung zu erhalten, die GET oder POST wird Kam so viel
Teile ist die Teilenummer und Ort ist die Postleitzahl
Die soeben zurückgegebenen Lenspons werden in einem Geschäft zurückgegeben.
response
{
"head": {
"status": "200",
"data": {}
},
"body": {
"stores": [
{
"storeEmail": "[email protected]",
"storeName": "Shinsaibashi",
"reservationUrl": "http://www.apple.com/jp/retail/shinsaibashi",
"makeReservationUrl": "http://www.apple.com/jp/retail/shinsaibashi",
"state": "Präfektur Osaka",
"storeImageUrl": "https://rtlimages.apple.com/cmc/dieter/store/4_3/R091.png?resize=828:*&output-format=jpg",
"country": "JP",
"city": "Stadt Osaka",
"storeNumber": "R091",
"partsAvailability": {
"MWP22J/A": {
"storePickEligible": true,
"storeSearchEnabled": true,
"storeSelectionEnabled": true,
"storePickupQuote": "Sa 2019/12/07 Apfel Shinsaibashi",
"pickupSearchQuote": "Datum des Eingangs:<br/>Sa 2019/12/07",
"storePickupLabel": "Eingangsdatum:",
"partNumber": "MWP22J/A",
"purchaseOption": "",
"ctoOptions": "",
"storePickupLinkText": "Überprüfen Sie das Datum, das Sie erhalten können",
"storePickupProductTitle": "AirPods Pro",
"pickupDisplay": "ships-to-store"
}
},
"phoneNumber": "06-4963-4500",
"address": {
"address": "Apfel Shinsaibashi",
"address3": "Urban BLD Shinsaibashi",
"address2": "1 Nishishinsaibashi, Chuo-ku-5-5",
"postalCode": "542-0086"
},
"hoursUrl": "http://www.apple.com/jp/retail/shinsaibashi",
"storeHours": {
"storeHoursText": "Öffnungszeiten",
"bopisPickupDays": "Tage",
"bopisPickupHours": "Zeit",
"hours": [
{
"storeTimings": "10:00~21:00",
"storeDays": "Mond~Tag:"
}
]
},
"storelatitude": 34.672,
"storelongitude": 135.50007,
"storedistance": 3.44,
"storeDistanceWithUnit": "3.44 km",
"storeDistanceVoText": "542-Entfernung von 0086: 3.44 km",
"storelistnumber": 1,
"storeListNumber": 1
}
----------------Weiter nach unten----------------
Es scheint kein Problem zu geben, wenn Sie nur __storePickupQuote
__ erhalten können
Wenn Sie es nur erhalten, können Sie es nur mit Anforderungen implementieren. Schreiben Sie es daher entsprechend
Erfassung von Inventarinformationen
def get_store_status(_parts, _location):
arrival = []
url = "https://www.apple.com/jp/shop/retail/pickup-message"
param = {"parts.0": _parts, "location": _location}
response = requests.get(url, params=param)
json_data = json.loads(response.text)
stores = json_data['body']['stores']
for store in stores:
store_pickup = store['partsAvailability'][_parts]['storePickupQuote']
if 'heute' in store_pickup:
arrival.append({'Geschäft':store['address']['address'],
'Postleitzahl':store['address']['postalCode']})
return arrival
Ich habe es vorerst geschrieben, wenn ich es angemessen erkläre Fügen Sie den zurückgegebenen json in das Wörterbuch ein Das Geschäft, das die Ware erhalten hat, hat heute nicht das Datum, also machen Sie ein solches Urteil Ich werde bestehen, wenn es heute gibt
Ich weiß nicht, wann die Inventarinformationen tatsächlich aktualisiert werden Stellen Sie einmal pro Minute zwischen 6:00 und 10:00 eine Anfrage.
python
def start_job():
parts = {'AirpodsPro':'MWP22J/A', 'Airpods':'MV7N2J/A'}
location = '530-0000'
end_stamp = datetime.now().timestamp() + (60 * 60 * 4)
while True:
now = datetime.now().timestamp()
arrival = get_store_status(parts['AirpodsPro'], location)
if arrival or now > end_stamp:
line_notif(arrival)
break
time.sleep(60)
def trigger():
schedule.every().day.at('06:00').do(start_job)
while True:
schedule.run_pending()
time.sleep(1)
Wenn es auf Lager ist, bricht es aus der Schleife aus und benachrichtigt Sie Wenn nicht, Oryokuru bis 10 Uhr
LINE registriert sich als Benachrichtigen und sendet es an sich selbst Lassen Sie mich darauf verweisen: Benachrichtigung mit Python an LINE senden
python
def line_notify(stores):
line_notify_token = 'Zugangstoken'
line_notify_api = 'https://notify-api.line.me/api/notify'
if stores:
strings=''
for s in stores:
strings += f'''
Geschäft: {s['Geschäft']}
Postleitzahl: {s['Postleitzahl']}\n'''
message = f'''
Airpods Pro ist auf Lager.
Zielspeicher:{strings}
Warenkorb: https://www.apple.com/jp/shop/bag
'''
payload = {'message': message}
headers = {'Authorization': 'Bearer ' + line_notify_token}
requests.post(line_notify_api, data=payload, headers=headers)
Wenn es vorerst eine Ankunft gibt, wird dies LINE benachrichtigen Sie können es so kaufen, wie es ist, indem Sie die URL des Warenkorbs einfügen. (Es ist notwendig, es mit dem Terminal und dem Browser in den Warenkorb zu legen, um es im Voraus zu kaufen.)
Es gibt Airpods, probieren Sie diesen aus Ich habe die Informationen von Airpods früher in das Wörterbuch aufgenommen, daher werde ich sie verwenden
arrival = get_store_status(parts['Airpods'], location)
Jetzt renn.
Ich habe eine Benachrichtigung erhalten, also ist es okay
LINE-Benachrichtigung Es ist sehr praktisch und scheint in Zukunft sehr nützlich zu sein.
__ Das größte Problem ist, ob ich morgens wach bin __
Recommended Posts