Jump to content
Usr6

[RST] Cautatoru de chilipiruri pe Emag

Recommended Posts

"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:

30LI195.jpg

7I9V9F8.jpg

Scriptul a fost testat folosind serverul smtp oferit de inbox.com (moka), default cauta din 10 in 10 minute

#!/usr/bin/env python

import smtplib

import urllib2

import random

import re

import time

#panou de configurare

email = "" #unde vrei sa primesti ofertele

smtp = "my.inbox.com"

loginuser = "@inbox.com"

loginpass = ""

chilipir = 25 #pretul(ron) sub care sunteti anuntat

interval_timp_cautare = 600 # in secunde

print 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"

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(str(E))

if len(expediat) >= 1:

email_sender(expediat)

time.sleep(interval_timp_cautare)

print time.strftime("%c"), "nimic nou"

exit()

Edited by Usr6
mic bug
  • Upvote 4

Share this post


Link to post
Share on other sites

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 by Gio33
  • Upvote 1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 .

  • Upvote 1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
#!/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 by LLegoLLaS
  • Upvote 1

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

Ar trebui sesizata ANPC sa se demareze o ancheta pe aceasta tema. EU ca consumator sunt inselat prin oferte imaginare, ireale. ( eMag )

Share this post


Link to post
Share on other sites

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 by Kotzu

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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 etc

mai avem mult timp pana sa ne educam si noi .

  • Downvote 1

Share this post


Link to post
Share on other sites

poate cineva, va rog frumos, sa-i adauge sound la script cand gaseste ceva? ultimile oferte aparute au fost 3-4-5 noaptea.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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 python

import urllib2

import random

import re

import time

import winsound

#panou de configurare

chilipir = 25 # pretul(ron) sub care sunteti anuntat

interval_timp_cautare = 600 # in secunde, default 10 min (600 s)

beepuri = 5 # nr beepuri

pauza_beep = 5 # pauza intre beepuri in secunde

durata = 10 # durata beepului in secunde

print 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 )

return

oferte = []

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()

  • Upvote 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...