Avisador de ofertas de wallapop
Publicado por Jose Antonio (1 intervención) el 08/02/2017 12:41:43
Hola a todos.
Vereis, he descargado un programa en python en una web (no se si se puede dar la dirección, por eso no la pongo). Se trata de un programa para que me avise de las novedades que se suben a wallapop.
En los requisitos dice que necesitas python, obviamente, y me lo he descargado. Y también te dice que necesitas dimiurge, o demiurge, no me queda claro como se escribe. Este no se como descargarlo ni instalarlo :(
He guardado el código con la extensión .py pero no se como ejecutarlo.
Si podeis echarme una mano os estaría enormemente agradecido.
Adjunto el código por si os sirve de ayuda. Decir también que uso windows 7 como sistema operativo.
Vereis, he descargado un programa en python en una web (no se si se puede dar la dirección, por eso no la pongo). Se trata de un programa para que me avise de las novedades que se suben a wallapop.
En los requisitos dice que necesitas python, obviamente, y me lo he descargado. Y también te dice que necesitas dimiurge, o demiurge, no me queda claro como se escribe. Este no se como descargarlo ni instalarlo :(
He guardado el código con la extensión .py pero no se como ejecutarlo.
Si podeis echarme una mano os estaría enormemente agradecido.
Adjunto el código por si os sirve de ayuda. Decir también que uso windows 7 como sistema operativo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import demiurge, os, pickle, tempfile
urlSearch = 'http://es.wallapop.com/search?kws=gameboy&maxPrice=&dist=0_&order=creationData-des&kws=sp+101&lat=41.398077&lng=2.170432'
urlWallapop = 'http://es.wallapop.com'
SAVE_LOCATION = os.path.join(tempfile.gettempdir(), 'alertWallapop.pkl')
data_save = False
# Demiurge for get products in Wallapop
class Products(demiurge.Item):
title = demiurge.TextField(selector='a.product-info-title')
price = demiurge.TextField(selector='span.product-info-price')
url = demiurge.AttributeValueField(selector='div.card-product-product-info a.product-info-title', attr='href')
class Meta:
selector = 'div.card-product'
def sendPushBullet(title, body, url):
command = "curl -X POST -H 'Access-Token: <You Token>' -F 'email={email}' -F 'type=link' -F 'title={title}' -F 'body={body}' -F 'url={url}' 'https://api.pushbullet.com/v2/pushes'".format(email='<You email>', title=title, body=body, url=url)
os.system(command)
# Load after data search
try:
dataFile = open(SAVE_LOCATION, 'rb')
data_save = pickle.load(dataFile)
except:
pass
# Read web
results = Products.all(urlSearch)
data_temp = []
for item in results:
data_temp.append({'title': item.title
, 'price': item.price
, 'url': urlWallapop + item.url })
# Check new items
list_news = []
if data_save and data_save != data_temp:
for item in data_temp:
if item not in data_save:
list_news.append(item)
# Send alert
for item in list_news:
print(item['title'])
print('-' * 10)
sendPushBullet('Wallapop: ' + item['title'], item['price'], item['url'])
# Save data
data_save = open(SAVE_LOCATION, 'wb')
pickle.dump(data_temp, data_save)
Valora esta pregunta
0