Usr6 Posted November 29, 2014 Report Posted November 29, 2014 (edited) "Cautatoru de chilipiruri" tine evidenta preturilor scazute de pe Produse Resigilate Pret asc - eMAG.ro si in cazul in care apare vreun produs sub pretul specificat de tine in setari (Default: 25 RON), iti va trimite un email pentru a te atentiona de aparitia acelui produs:Scriptul a fost testat folosind serverul smtp oferit de inbox.com (moka), default cauta din 10 in 10 minute #!/usr/bin/env pythonimport smtplibimport urllib2import randomimport reimport time#panou de configurareemail = "" #unde vrei sa primesti ofertelesmtp = "my.inbox.com"loginuser = "@inbox.com"loginpass = ""chilipir = 25 #pretul(ron) sub care sunteti anuntatinterval_timp_cautare = 600 # in secundeprint r"""#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#\#.........RSTforums.com........#-\#.............Usr6.............#--\/#...Cautatoru de chilipiruri...#--/\#..............................#-/#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#/"""def email_sender(TEXT): #print TEXT message = 'To:' + email + '\n' + 'From: ' + loginuser + '\n' + 'Subject:Chilipir \n\n' + TEXT server = smtplib.SMTP(smtp, 587) server.login(loginuser, loginpass ) server.sendmail(loginuser, email, message) server.quit() print "Oferta a fost expediata" returnexpediate = []while True : expediat = "" random_nr = str(random.randint(10**16,99999999999999999)) ua = "Opera/%s.%s (Windows NT %s.%s) Presto/%s.%s.%s Version/%s.%s" \ %(random_nr[0], random_nr[1:3], random_nr[4], random_nr[5], random_nr[6], random_nr[7:9], random_nr[10:13], random_nr[13:15], random_nr[15:17]) try: site = "http://www.emag.ro/resigilate/sort-priceasc" req = urllib2.Request(site, None, {'User-Agent' : ua}) continut = urllib2.urlopen(req, timeout=30).read() match = re.findall('\"money-int\"\>(\d*)\<\/span\>\<sup class=\"money-decimal\"\>\d*.+\n.+\t+.+\n\t.+\n.+\n.+\<a href=\"(.+#resigilate)"',continut) for every in match: pret, link = every if int(pret) <= chilipir: link = "http://www.emag.ro" + link unic = str(pret) + link if unic not in expediate: expediat += str(pret) + "\t" + link +"\n" expediate.append(unic) except Exception as E: email_sender(str(E)) if len(expediat) >= 1: email_sender(expediat) time.sleep(interval_timp_cautare) print time.strftime("%c"), "nimic nou"exit() Edited November 30, 2014 by Usr6 mic bug 4 Quote
daNNy.bv Posted November 29, 2014 Report Posted November 29, 2014 acu toata lumea pune limita de 5 RON poate poate mai da emagu tembelizoare ieftine 1 Quote
Gio33 Posted November 29, 2014 Report Posted November 29, 2014 (edited) Misto ideea, cum ti a venit ? Insa cum am zis si pe chat, trebuie refresh la ~random (7,14) secunde, ca sa fii sigur ca nu bate la ochi si de preferat si o combinatie de proxy:useragent per "sesiune de refresh-uri" , sa zicem odata la random (400,500) refresh-uri sa se schimbe combinatia.Nu schimba user agent-ul per fiecare refresh ca asa e dubios, venind de la acelasi ip. Edited November 29, 2014 by Gio33 1 Quote
Htich Posted November 29, 2014 Report Posted November 29, 2014 Frumos script , o sa-l incerc... @daNNy.bv a trecut faza cu 5 Lei , acuma nu isi mai permit cei de la eMag o "gafa" cum sa petrecut acum o saptamana. Quote
eusimplu Posted November 29, 2014 Report Posted November 29, 2014 Cred ca mai bine il punem online, ne abonam la el, si ne umplem de televizoare! Quote
carter2408 Posted November 29, 2014 Report Posted November 29, 2014 Eu nu cred VRAJEALA cu greseala de pret este a doua oara . Asta este o strategie de lor sa-si faca reclama !!! . Eu nu am auzit pe nimeni ca a castigat premiul de pe emag plus ca nu au pic de transparenta la extragerea premilor . Adica sa aibe un video sa arate corectitudinea extragerii . 1 Quote
blech Posted November 29, 2014 Report Posted November 29, 2014 eu vroiam sa fac asa ceva folosind ceva crawlere si api-uri online... si mult mult mai global. Quote
ben123 Posted November 29, 2014 Report Posted November 29, 2014 Este doar o chestie de marketing, se pare ca si-au facut bine treaba, probabil au fost produse la preturi derizorii dar tot ai lor le-au cumparat. Quote
3mPtY Posted November 29, 2014 Report Posted November 29, 2014 Emag-ul a ajuns la un nivel unde da intradevar au gandit aceasta campanie in scop publicitar, insa nu trebuie sa judecam faptul ca acele produse au fost impartite intre ei sau intre membri familiilor lor.Sunt numarul 1 in Romania iar asta pentru ca mi de romani au incredere zilnic in produsele lor. Cateva zeci de televizoare/laptopuri/frigidere nu inseamna nimic la valoarea lor actuala. Quote
LLegoLLaS Posted November 29, 2014 Report Posted November 29, 2014 (edited) #!/usr/bin/env python import smtplib import urllib2 import random import re import time #panou de configurare email = " " #unde vrei sa primesti ofertele smtp = "smtp.gmail.com" loginuser = "@gmail.com" loginpass = "" chilipir = 25 #pretul(ron) sub care sunteti anuntat interval_timp_cautare = 600 # in secunde print r""" #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#\ #.........RSTforums.com........#-\ #.............Usr6.............#--\/ #...Cautatoru de chilipiruri 1.2...#--/\ #..............................#-/ #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#/ """ def email_sender(TEXT): #print TEXT message = 'To:' + email + '\n' + 'From: ' + loginuser + '\n' + 'Subject:Chilipir \n\n' + TEXT server = smtplib.SMTP(smtp, 587) server.ehlo() server.starttls() server.login(loginuser, loginpass ) server.sendmail(loginuser, email, message) server.quit() print "Oferta a fost expediata" return expediate = [] while True : expediat = "" random_nr = str(random.randint(10**16,99999999999999999)) ua = "Opera/%s.%s (Windows NT %s.%s) Presto/%s.%s.%s Version/%s.%s" \ %(random_nr[0], random_nr[1:3], random_nr[4], random_nr[5], random_nr[6], random_nr[7:9], random_nr[10:13], random_nr[13:15], random_nr[15:17]) try: site = "http://www.emag.ro/resigilate/sort-priceasc" req = urllib2.Request(site, None, {'User-Agent' : ua}) continut = urllib2.urlopen(req, timeout=30).read() match = re.findall('\"money-int\"\>(\d*)\<\/span\>\<sup class=\"money-decimal\"\>\d*.+\n.+\t+.+\n\t.+\n.+\n.+\<a href=\"(.+#resigilate)"',continut) for every in match: pret, link = every if int(pret) <= chilipir: link = "http://www.emag.ro" + link unic = str(pret) + link if unic not in expediate: expediat += str(pret) + "\t" + link +"\n" expediate.append(unic) except Exception as E: email_sender(E) if len(expediat) >= 1: email_sender(expediat) time.sleep(interval_timp_cautare) print time.strftime("%c"), "nimic nou" exit() adaptare sa mearga cu cont de gmail LE: daca e cont nou posibil sa nu mearga prima data (blocheaza loginul,nefiind secure) si sa primiti un mail cu Enable less Secure Access.Dupa ce bifati mere Edited April 25, 2017 by LLegoLLaS 1 Quote
Aerosol Posted November 29, 2014 Report Posted November 29, 2014 Emag-ul a ajuns la un nivel unde da intradevar au gandit aceasta campanie in scop publicitar, insa nu trebuie sa judecam faptul ca acele produse au fost impartite intre ei sau intre membri familiilor lor.Sunt numarul 1 in Romania iar asta pentru ca mi de romani au incredere zilnic in produsele lor. Cateva zeci de televizoare/laptopuri/frigidere nu inseamna nimic la valoarea lor actuala.Ce mai conteaza acum ce si cum... important e ca noi nu am primit nimic Uite faptul ca vorbim noi despre ei e un castig in plus (un post in plus o reclama in plus) in fine...On:// Buna treaba bre Usr, sa vad ce "prind" si eu.revin cu edit daca dau de ceva interesant. Quote
Kotzu Posted November 30, 2014 Report Posted November 30, 2014 vai, si cand vroiam sa-l incerc si eu ) Quote
nally162000 Posted November 30, 2014 Report Posted November 30, 2014 Super treaba LLegoLLaS, merci. Stima Usr6! Quote
Gio33 Posted November 30, 2014 Report Posted November 30, 2014 Bravo, ati reusit sa abuzati si de asta. Au introdus captcha la cateva vizite.Parca ziceai ca ai parsat toate paginile si ii doare n cur Pe cine duce capu stie oricum sa modifice scriptu ca sa nu apara captcha sau poate cu un captcha sniper. Quote
nacks Posted November 30, 2014 Report Posted November 30, 2014 ... eu am observat ca inca merge ... astazi cand au aparut oferte noi am primit mail ! Quote
RFR Posted December 1, 2014 Report Posted December 1, 2014 Ar trebui sesizata ANPC sa se demareze o ancheta pe aceasta tema. EU ca consumator sunt inselat prin oferte imaginare, ireale. ( eMag ) Quote
Kotzu Posted December 1, 2014 Report Posted December 1, 2014 (edited) am incercat si eu scriptul, nu prea ma pricep la astea asa ca l-am rulat din pyton, ba chiar am facut un exe din el. Ar trebui sa-l am undeva in tray?imi lipseste ceva http://imgur.com/mB4Rtup Edited December 2, 2014 by Kotzu Quote
devilox Posted December 7, 2014 Report Posted December 7, 2014 Emag-ul a ajuns la un nivel unde da intradevar au gandit aceasta campanie in scop publicitar, insa nu trebuie sa judecam faptul ca acele produse au fost impartite intre ei sau intre membri familiilor lor.Sunt numarul 1 in Romania iar asta pentru ca mi de romani au incredere zilnic in produsele lor. Cateva zeci de televizoare/laptopuri/frigidere nu inseamna nimic la valoarea lor actuala.gresit , altex este nr 1 ca vanzari si cifra de afaceri Quote
devilox Posted December 7, 2014 Report Posted December 7, 2014 nu e vorba de asta , ideea e ca vanzarile in online reprezinta maxim 15% , restul pe magazine tata , taranii care fac rate , vor sa pipaie produsu` etc etcmai avem mult timp pana sa ne educam si noi . 1 Quote
Kotzu Posted December 9, 2014 Report Posted December 9, 2014 poate cineva, va rog frumos, sa-i adauge sound la script cand gaseste ceva? ultimile oferte aparute au fost 3-4-5 noaptea. Quote
awnly3jhc2g Posted December 9, 2014 Report Posted December 9, 2014 poate cineva, va rog frumos, sa-i adauge sound la script cand gaseste ceva? ultimile oferte aparute au fost 3-4-5 noaptea.Poti lasa yahoo messenger deschis pentru cand primesti email si sari din pat. Solutie temporara. Quote
Gio33 Posted December 9, 2014 Report Posted December 9, 2014 poate cineva, va rog frumos, sa-i adauge sound la script cand gaseste ceva? ultimile oferte aparute au fost 3-4-5 noaptea.audio - Play a Sound with Python - Stack OverflowEvident, daca folosesti mail, baga-ti contu pe telefon ceva si pune refresh la interval mic + sunet urat la primire mail (sau alternative pe pc) . Quote
Kotzu Posted December 9, 2014 Report Posted December 9, 2014 am luat gmail notifier si am rezolvat Quote
Usr6 Posted December 9, 2014 Author Report Posted December 9, 2014 Varianta domestica, pentru cei care tin pc-ul in aprins 24/24. In loc sa trimita oferta prin email, o tipareste in fisierul "chilipiruri.txt" si beepaie#!/usr/bin/env pythonimport urllib2import randomimport reimport timeimport winsound#panou de configurarechilipir = 25 # pretul(ron) sub care sunteti anuntatinterval_timp_cautare = 600 # in secunde, default 10 min (600 s)beepuri = 5 # nr beepuripauza_beep = 5 # pauza intre beepuri in secundedurata = 10 # durata beepului in secundeprint r"""#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#\#.........RSTforums.com........#-\#.............Usr6.............#--\/#.Cautatoru de chilipiruri 1.1.#--/\#..............................#-/#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#/"""def beeeep(TEXT): print TEXT with open("chilipiruri.txt", "a") as handle: handle.write("\n" *3 +str(time.strftime("%c")) +"\n" + TEXT) print "Verifica fisierul chilipiruri.txt" for i in range(beepuri): Freq = 2500 # Set Frequency To 2500 Hertz winsound.Beep(Freq,durata * 1000) time.sleep(pauza_beep ) returnoferte = []while True : oferta = "" random_nr = str(random.randint(10**16,99999999999999999)) ua = "Opera/%s.%s (Windows NT %s.%s) Presto/%s.%s.%s Version/%s.%s" \ %(random_nr[0], random_nr[1:3], random_nr[4], random_nr[5], random_nr[6], random_nr[7:9], random_nr[10:13], random_nr[13:15], random_nr[15:17]) try: site = "http://www.emag.ro/resigilate/sort-priceasc" req = urllib2.Request(site, None, {'User-Agent' : ua}) continut = urllib2.urlopen(req, timeout=30).read() match = re.findall('\"money-int\"\>(\d*)\<\/span\>\<sup class=\"money-decimal\"\>\d*.+\n.+\t+.+\n\t.+\n.+\n.+\<a href=\"(.+#resigilate)"',continut) for every in match: pret, link = every if int(pret) <= chilipir: link = "http://www.emag.ro" + link unic = str(pret) + link if unic not in oferte: oferta += str(pret) + "\t" + link +"\n" oferte.append(unic) except Exception as E: print "\n!!! EROARE !!!\n" beeeep(str(E)) if len(oferta) >= 1: beeeep(oferta) time.sleep(interval_timp_cautare) print time.strftime("%c"), "nimic nou"exit() 2 Quote