Usr6 2166 Report post 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 Share this post Link to post Share on other sites
daNNy.bv 98 Report post Posted November 29, 2014 acu toata lumea pune limita de 5 RON poate poate mai da emagu tembelizoare ieftine 1 Quote Share this post Link to post Share on other sites
Gio33 292 Report post 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 Share this post Link to post Share on other sites
Htich 14 Report post 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 Share this post Link to post Share on other sites
eusimplu 103 Report post Posted November 29, 2014 Cred ca mai bine il punem online, ne abonam la el, si ne umplem de televizoare! Quote Share this post Link to post Share on other sites
carter2408 3 Report post 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 Share this post Link to post Share on other sites
blech 114 Report post Posted November 29, 2014 eu vroiam sa fac asa ceva folosind ceva crawlere si api-uri online... si mult mult mai global. Quote Share this post Link to post Share on other sites
ben123 4 Report post 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 Share this post Link to post Share on other sites
3mPtY 27 Report post 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 Share this post Link to post Share on other sites
LLegoLLaS 306 Report post 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 Share this post Link to post Share on other sites
Aerosol 882 Report post 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 Share this post Link to post Share on other sites
Kotzu 11 Report post Posted November 30, 2014 vai, si cand vroiam sa-l incerc si eu ) Quote Share this post Link to post Share on other sites
nally162000 9 Report post Posted November 30, 2014 Super treaba LLegoLLaS, merci. Stima Usr6! Quote Share this post Link to post Share on other sites
Gio33 292 Report post 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 Share this post Link to post Share on other sites
nacks 38 Report post Posted November 30, 2014 ... eu am observat ca inca merge ... astazi cand au aparut oferte noi am primit mail ! Quote Share this post Link to post Share on other sites
RFR 43 Report post 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 Share this post Link to post Share on other sites
Kotzu 11 Report post 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 Share this post Link to post Share on other sites
devilox 54 Report post 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 Share this post Link to post Share on other sites
devilox 54 Report post 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 Share this post Link to post Share on other sites
Kotzu 11 Report post 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 Share this post Link to post Share on other sites
awnly3jhc2g 92 Report post 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 Share this post Link to post Share on other sites
Gio33 292 Report post 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 Share this post Link to post Share on other sites
Kotzu 11 Report post Posted December 9, 2014 am luat gmail notifier si am rezolvat Quote Share this post Link to post Share on other sites
Usr6 2166 Report post 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 Share this post Link to post Share on other sites
mundy. 32 Report post Posted January 1, 2015 Misto ideea, mersi fain Quote Share this post Link to post Share on other sites