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
Link to comment
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
Link to comment
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.

Link to comment
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
Link to comment
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.

Link to comment
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

Link to comment
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
Link to comment
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...