Last active
January 9, 2023 10:00
-
-
Save quiver/6eb49ee573751d4408cb0d9b56f13a75 to your computer and use it in GitHub Desktop.
Check Canyon Bikes Availability
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Canyonバイクで、注文可能なモデルをすぐに注文したい | |
https://www.canyon.com/en-de/orderable-bikes/?prefn1=masterAvailabilityFlag&prefn2=pc_geschlecht&prefn3=pc_rahmengroesse&prefn4=pc_welt&prefv1=1&prefv2=Unisex&prefv3=XS&prefv4=Road |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
❯ canyon | |
2023-01-06 13:11:58.418434 | |
[('Aeroad CF SLX 8 Disc Di2', | |
'6.499 €', | |
'https://www.canyon.com/en-de/road-bikes/aero-bikes/aeroad/cf-slx/aeroad-cf-slx-8-disc-di2/3052.html?dwvar_3052_pv_rahmenfarbe=R081_P08'), | |
('Endurace CF SLX 9 Di2', | |
'7.799 €', | |
'https://www.canyon.com/en-de/road-bikes/endurance-bikes/endurace/cf-slx/endurace-cf-slx-9-di2/3369.html?dwvar_3369_pv_rahmenfarbe=RD%2FBK')] | |
2023-01-06 13:16:19.953572 | |
[('Aeroad CF SLX 8 Disc Di2', | |
'6.499 €', | |
'https://www.canyon.com/en-de/road-bikes/aero-bikes/aeroad/cf-slx/aeroad-cf-slx-8-disc-di2/3052.html?dwvar_3052_pv_rahmenfarbe=R081_P08'), | |
('Endurace CF SLX 9 Di2', | |
'7.799 €', | |
'https://www.canyon.com/en-de/road-bikes/endurance-bikes/endurace/cf-slx/endurace-cf-slx-9-di2/3369.html?dwvar_3369_pv_rahmenfarbe=RD%2FBK')] | |
Aeroad CF SLX 8 Disc Di2,6.499 €,https://www.canyon.com/en-de/road-bikes/aero-bikes/aeroad/cf-slx/aeroad-cf-slx-8-disc-di2/3052.html?dwvar_3052_pv_rahmenfarbe=R081_P08 | |
Endurace CF SLX 9 Di2,7.799 €,https://www.canyon.com/en-de/road-bikes/endurance-bikes/endurace/cf-slx/endurace-cf-slx-9-di2/3369.html?dwvar_3369_pv_rahmenfarbe=RD%2FBK | |
2023-01-07 03:31:31.936685 | |
[('Aeroad CF SLX 8 Disc Di2', | |
'6.499 €', | |
'https://www.canyon.com/en-de/road-bikes/aero-bikes/aeroad/cf-slx/aeroad-cf-slx-8-disc-di2/3052.html?dwvar_3052_pv_rahmenfarbe=R081_P08'), | |
('Endurace CF SLX 9 Di2', | |
'7.799 €', | |
'https://www.canyon.com/en-de/road-bikes/endurance-bikes/endurace/cf-slx/endurace-cf-slx-9-di2/3369.html?dwvar_3369_pv_rahmenfarbe=RD%2FBK')] | |
Aeroad CF SLX 8 Disc Di2,6.499 €,https://www.canyon.com/en-de/road-bikes/aero-bikes/aeroad/cf-slx/aeroad-cf-slx-8-disc-di2/3052.html?dwvar_3052_pv_rahmenfarbe=R081_P08 | |
Endurace CF SLX 9 Di2,7.799 €,https://www.canyon.com/en-de/road-bikes/endurance-bikes/endurace/cf-slx/endurace-cf-slx-9-di2/3369.html?dwvar_3369_pv_rahmenfarbe=RD%2FBK | |
2023-01-07 09:50:54.884820 | |
[('Aeroad CF SLX 8 Disc Di2', | |
'6.499 €', | |
'https://www.canyon.com/en-de/road-bikes/aero-bikes/aeroad/cf-slx/aeroad-cf-slx-8-disc-di2/3052.html?dwvar_3052_pv_rahmenfarbe=R081_P08'), | |
('Endurace CF SLX 9 Di2', | |
'7.799 €', | |
'https://www.canyon.com/en-de/road-bikes/endurance-bikes/endurace/cf-slx/endurace-cf-slx-9-di2/3369.html?dwvar_3369_pv_rahmenfarbe=RD%2FBK'), | |
('Ultimate CF SLX 9 Disc Di2', | |
'7.799 €', | |
'https://www.canyon.com/en-de/road-bikes/race-bikes/ultimate/cf-slx/ultimate-cf-slx-9-disc-di2/2918.html?dwvar_2918_pv_rahmenfarbe=WH%2FBK')] | |
Aeroad CF SLX 8 Disc Di2,6.499 €,https://www.canyon.com/en-de/road-bikes/aero-bikes/aeroad/cf-slx/aeroad-cf-slx-8-disc-di2/3052.html?dwvar_3052_pv_rahmenfarbe=R081_P08 | |
Endurace CF SLX 9 Di2,7.799 €,https://www.canyon.com/en-de/road-bikes/endurance-bikes/endurace/cf-slx/endurace-cf-slx-9-di2/3369.html?dwvar_3369_pv_rahmenfarbe=RD%2FBK | |
Ultimate CF SLX 9 Disc Di2,7.799 €,https://www.canyon.com/en-de/road-bikes/race-bikes/ultimate/cf-slx/ultimate-cf-slx-9-disc-di2/2918.html?dwvar_2918_pv_rahmenfarbe=WH%2FBK | |
2023-01-07 21:34:06.148338 | |
[('Aeroad CF SLX 8 Disc Di2', | |
'6.499 €', | |
'https://www.canyon.com/en-de/road-bikes/aero-bikes/aeroad/cf-slx/aeroad-cf-slx-8-disc-di2/3052.html?dwvar_3052_pv_rahmenfarbe=R081_P08'), | |
('Endurace CF SLX 9 Di2', | |
'7.799 €', | |
'https://www.canyon.com/en-de/road-bikes/endurance-bikes/endurace/cf-slx/endurace-cf-slx-9-di2/3369.html?dwvar_3369_pv_rahmenfarbe=RD%2FBK'), | |
('Ultimate CF SLX 9 Disc Di2', | |
'7.799 €', | |
'https://www.canyon.com/en-de/road-bikes/race-bikes/ultimate/cf-slx/ultimate-cf-slx-9-disc-di2/2918.html?dwvar_2918_pv_rahmenfarbe=WH%2FBK')] | |
Aeroad CF SLX 8 Disc Di2,6.499 €,https://www.canyon.com/en-de/road-bikes/aero-bikes/aeroad/cf-slx/aeroad-cf-slx-8-disc-di2/3052.html?dwvar_3052_pv_rahmenfarbe=R081_P08 | |
Endurace CF SLX 9 Di2,7.799 €,https://www.canyon.com/en-de/road-bikes/endurance-bikes/endurace/cf-slx/endurace-cf-slx-9-di2/3369.html?dwvar_3369_pv_rahmenfarbe=RD%2FBK | |
Ultimate CF SLX 9 Disc Di2,7.799 €,https://www.canyon.com/en-de/road-bikes/race-bikes/ultimate/cf-slx/ultimate-cf-slx-9-disc-di2/2918.html?dwvar_2918_pv_rahmenfarbe=WH%2FBK | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
''' | |
https://gist.github.com/quiver/6eb49ee573751d4408cb0d9b56f13a75 | |
Check Canyon availability | |
''' | |
import csv | |
import datetime | |
import sys | |
from bs4 import BeautifulSoup | |
import requests | |
FILENAME = '/Users/g/bin/canyon-price.txt' | |
fp = open(FILENAME, 'a') | |
URL = 'https://www.canyon.com/en-de/road-bikes/?prefn1=pc_bremse_bremstyp&prefv1=Disc%20brake&prefn2=pc_familie&prefv2=Endurace%7CUltimate%7CAeroad&prefn3=pc_rahmengroesse&prefv3=XS&prefn4=pc_schaltwerk_web_marke&prefv4=Shimano&prefn5=pc_schaltwerk_web_schaltung&prefv5=Electronic&prefn6=pc_werkstoff&prefv6=Carbon%20%28CF%29&prefn7=refinementAvailability&prefv7=Available%20to%20order&srule=sort_master_availability' | |
fp.write(str(datetime.datetime.now())) | |
fp.write('\n') | |
print(datetime.datetime.now()) | |
res = requests.get(URL) | |
html_doc = res.text | |
buff= [] | |
# html_doc = open('index.html').read() | |
soup = BeautifulSoup(html_doc, 'html.parser') | |
for li in soup.find_all("li", {"class":"productGrid__listItem"}): | |
try: | |
href = li.find("a", {"class": "productTileDefault__productName"}) | |
title = href.text.strip() | |
url = href.attrs['href'].strip() | |
price = li.find("div", {"class": "productTile__priceSale"}) | |
price = price.text.strip() | |
buff.append((title, price, url)) | |
except: | |
pass | |
from pprint import pprint | |
buff.sort() | |
pprint(buff) | |
#writer = csv.writer(sys.stdout) | |
writer = csv.writer(fp) | |
for data in buff: | |
writer.writerow(data) | |
fp.write('\n'*2) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment