Jy kan die volledige kode hier sien: https://pastebin.com/ND8EYTxA
Installeer Python
Ek sal die webwerf as 'n voorbeeld neem https://www.okazii.ro/
Ook as voorbeeld van 'n produk op hierdie webwerf sal ek die boek soek: "Studie van tekening, kleur, komposisie en uitdrukking in kerklike kuns"
Die Python-kode sal my per e-pos in kennis moet stel wanneer hierdie boek na voorraad terugkeer, met 'n prys van minder as 90 RON.
Noem: As jy wil hê dat hierdie kode deurlopend op die agtergrond moet loop, sal jy die lêeruitbreiding moet verander vanaf .py in .pyw
Voordat u die skrip uitvoer, moet u die volgende doen:
Voer die opdrag vanaf die CMD (opdragprompt)-konsole:pip install pythonw
Om die program te begin, voer die volgende opdrag in CMD uit (in die gids waar die lêer geleë is):
pythonw poznaii.pyw
Nou sal die proses voortdurend in die agtergrond loop. Om die proses te stop, moet jy die opdrag uitvoer:
TASKKILL /F /IM pythonw.exe
VERSIGTIG! ! ! Alle opdragte word uitgevoer vanaf die opdragreël in die gids waar die lêer geleë is.
As jy die lêer bloot met python okazii.pyw wil laat loop, kan jy dit ook doen, maar jy moet altyd die konsole oop hou. Jy kan die uitvoering stop met ctrl + C vanaf Command Prompt (CMD)
Do not use GMAIL for default email adress !
#------------------------------------------------------------------------------- # Author: Fantanaru Neculai # # Created: 16/03/2022 # Copyright: (c) Fantanaru Neculai 2022 #------------------------------------------------------------------------------- from bs4 import BeautifulSoup as bs import pandas as pd pd.set_option('display.max_colwidth', 500) import time import requests import random import re page = requests.get("https://www.okazii.ro/") soup = bs(page.content) # Studiul desenului, culorii, compozitiei si expresiei in arta eclesiala result = requests.get("https://www.okazii.ro/cautare/studiul+desenului%2C+culorii%2C+compozitiei+si+expresiei+in+arta+eclesiala.html") # preluam text dintre <!-- END SPECIALE IN LISTA--> si <!-- RECENT INTRODUSE --> produse_sectiune_pattern = re.compile('<!-- END SPECIALE IN LISTA-->([\s\S]*?)<div id=\'div-gpt-ad-15\'>') produse_sectiune = re.findall(produse_sectiune_pattern, result.text) produse_sectiune = produse_sectiune[0] preturi_pattern = re.compile('<span class=\"prSup\"><span>(.*?)</span><span class=\"seo-price-indent\">') preturi = re.findall(preturi_pattern, produse_sectiune) print(preturi) count = 0 for pret in preturi: if int(pret) < 90: # puneti <= daca vreti ca pretul sa fie si egal cu 90 RON count += 1 print("Am gasit {} oferte cu pretul sub 90 lei.".format(count)) # soup_cautare = bs(result.text, 'html.parser') # print(soup_cautare) #items = soup_cautare.find_all(class_ = 'listing-product ') #print(items) # Trimitere email import sys import smtplib from_addr = 'YOUR EMAIL ADRESS' to_addrs = ['YOUR EMAIL ADRESS'] msg = """From: Sender To: Recipient Subject: Okazii Am gasit 1 oferte cu pretul sub 90 lei. """ try: s = smtplib.SMTP('mail.neculaifantanaru.com', 26) # put here your own SMTP PORT and hosting email s.login('YOUR EMAIL ADRESS', 'PASSWORD') # do not use GMAIL !! s.sendmail(from_addr, to_addrs, msg) s.quit() except smtplib.SMTPException: print("Error: ", sys.exc_info()[0])
That's all folks.
If you like my code, then make me a favor: translate your website into Romanian, "ro".
Sien ook hierdie weergawe 2 of VERSIE 3 of weergawe 4 of weergawe 5 of weergawe 6 of weergawe 7