Python Kullanarak Amazon Ürününün Kullanılabilirliğini Kontrol Etme

| | | | | |

Bildiğimiz gibi Python, komut dosyası oluşturmak için yaygın olarak kullanılan çok amaçlı bir dildir. Kullanımı yalnızca karmaşık hesaplamaları çözmekle sınırlı değildir, aynı zamanda günlük görevleri otomatikleştirmekle de sınırlıdır. Diyelim ki herhangi bir Amazon ürününün kullanılabilirliğini izlemek ve ürünün kullanılabilirliği değiştiğinde bir anlaşma yapmak ve ayrıca kullanıcıyı kullanılabilirlik konusunda e-posta ile bilgilendirmek istiyoruz. Bunun için bir Python betiği yazmak çok eğlenceli olacak. Not. Komut dosyasını çalıştırmadan önce gerekli kitaplıkları (koda göre) kurun. Ayrıca, ürün şu anda mevcut değilse, kullanıcıya e-posta gönderilmeyeceğini de unutmayın. Kullanıcı, izlemek istediği ürün için Asin Kimliğini sağlamalıdır.

Kullanılan her modülün çalışması:
  • -> istekler: HTTP alıp göndermek için kullanılır request
  • -> time: Geçerli saati, bekle, uykuyu bulmak için kullanılır
  • -> program: Bir işlevi aralıklarla tekrar çalışacak şekilde programlamak için kullanılır. JavaScript`teki "setInterval" işlevine benzer.
  • -> smptlib: Python kullanarak e-posta göndermek için kullanılır.

# Amazon ürün kullanılabilirliği denetleyicisi için Python betiği # lxml`den kitaplıkları içe aktarma html içe aktarma isteklerini zamandan içe aktarma uyku içe aktarma zamanı içe aktarma programı içe aktarma smtplib # Uygunluğu kontrol etmek isteyenler için e-posta kimliği alıcı_email_id = "EMAIL_ID_OF_USER" def check(url): headers = {` User-Agent`: `Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, Gecko gibi) Chrome/42.0.2311.90 Safari/537.36`} # GET isteği gönderen bir tarayıcı olduğunuzu göstermek için başlıklar ekleme sayfa = request.get(url, başlıklar = başlıklar) i aralığında (20): # çünkü # milisaniye veya birkaç saniye içinde sürekli kontroller # isteğinizi engeller uyku(3) # html içeriğini ayrıştırma doc = html.fromstring(sayfa .content) # uygunluk kontrolü XPATH_AVAILABILITY = `//div[@id ="availability"]//text()` RAw_AVAILABILITY = doc.xpath(XPATH_AVAILABILITY) AVAILABIL ITY = ``.join(RAw_AVAILABILITY).strip() if RAw_AVAILABILITY else Hiçbiri döndürme AVAILABILITY def sendmail(ans, ürün): GMAIL_USERNAME = "YOUR_GMAIL_ID" GMAIL_PASSWORD = "YOUR_GMAIL_PASSWORD" alıcı kimliği ürün gövdesi ve alıcı e-postası =__email_ ` # SMTP oturumu oluşturur s = smtplib.SMTP(`smtp.gmail.com`, 587) # güvenlik için start TLS s.starttls() # Kimlik doğrulama s.login(GMAIL_USERNAME, GMAIL_PASSWORD) # gönderilecek mesaj başlıklar = " " .join(["from: " + GMAIL_USERNAME, "subject: " + email_subject, "to: " + alıcı, "mime-version: 1.0", "content-type: text/html"]) içerik = başlıklar + " " + body_of_email s.sendmail(GMAIL_USERNAME, alıcı, içerik) s.quit() def ReadAsin(): # Asin Id, # kullanıcı tarafından sağlanması gereken ürün kimliğidir Asin = `B077PWK5BT` url = "http:// www.amazon.in/dp/" + Asin print ("İşleniyor: "+url) ans = check(url) arr = [ `Stokta sadece 1 adet kaldı.`, `Stokta sadece 2 adet kaldı.`, `Stokta var .`] print(ans) ise dizide cevap: # s eğer ürün mevcutsa # kullanıcıya gönderilen e-postayı sonlandırma senmail(ans, Asin) # aynı kodu her 1 dakikadan sonra birden çok # kez çalıştırmak için programlama def job(): print("Tracking....") ReadAsin() Schedule.every (1).minutes.do(job) while True: # bekleyen tüm görevleri/işleri çalıştırıyor Schedule.run_pending() time.sleep(1) 

Çıktı:

İzleme.. .. İşleme: http://www.amazon.in/dp/B077PWK5BT Stokta sadece 1 adet kaldı. Takip ediliyor.... İşleniyor: http://www.amazon.in/dp/B077PWK5BT Stokta sadece 1 adet kaldı. Takip ediliyor.... İşleniyor: http://www.amazon.in/dp/B077PWK5BT Stokta sadece 1 adet kaldı. 

JavaScript kullanılıyorsa, piton istekleriyle bir stok durumu denetleyicisi nasıl oluşturulur?

StackOverflow sorusu

Bir ürünün stokta olup olmadığını kontrol etmesi gereken bir kod yazdım ve ne zaman bana haber vermek için bana bir e-posta gönderin. Bu, aradığım şeyler html`de olduğunda işe yarar.

Ancak, bazen belirli nesneler JavaScript aracılığıyla yüklenir. Web kazımanın JavaScript ile de çalışması için kodumu nasıl düzenleyebilirim?

Şu ana kadarki kodum:

içe aktarma zamanı içe aktarma istekleri while True: # IKEA sayfasının URL`sini alın url = `https://www.ikea.com/nl/nl/p/flintan-bureaustoel-vissle-zwart-20336841/` # O sayfadaki metni alın ve her şeyi küçük harflerle yazın productpage = request.get(url).text.lower() # Sayfada olması gereken dizeleri ayarlayın ürün mevcut değilse outofstockstrings = [`niet beschikbaar voor kaldıraç`, `alleen beschikbaar in de winkel `] # Dizelerin olup olmadığını kontrol edin. web sayfasının metninde bulunur eğer any(x ürün sayfasındaki için x outofstockstrings içinde): time.sleep(1800) devam başka: # bana bir e-posta gönderin ve döngüyü kırın 

Yanıt:

HTML`yi kazımak ve analiz etmek yerine resmi olmayan hisse senedini kullanabilirsiniz IKEA web sitesinin de kullandığı API. Bu API, analizi çok daha kolay olan JSON verilerini döndürür ve ayrıca ürün stoğa geri döndüğünde tahminler alırsınız.

Bu tür bilgileri sağlayan javascript / node ile yazılmış bir proje bile var. doğrudan komut satırından: https://github.com/Ephigenia/ikea-availability-checker< /a>

Hollanda`daki tüm mağazalardaki sandalye stok miktarını kolayca kontrol edebilirsiniz:

npx ikea-availability-checker stock --country nl 20336841 

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method