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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| #!/usr/bin/python
# -*- coding: utf-8 -*-
import pprint
import sys
import logging
import json
import time
import random
import os,binascii
import pycurl
import StringIO
import MySQLdb as mdb
import urlparse
import smtplib
#log
logger = logging.getLogger(__name__)
logger.info("Lancement du worker")
#variables globales
ip_ES ="127.0.0.1"
port_ES = "9200"
index_ES ="twitter"
type_ES = "tweet"
c = pycurl.Curl()
b = StringIO.StringIO()
#
# Creation de l'url
#
def BuildUrl():
return "http://"+ip_ES+":"+port_ES+"/"+index_ES+"/"+type_ES+"/"
#
# Creation de la requete curl pour
# interroger ES
#
def CreateRqtES(info,nbr_annonce):
#def test(nbr_annonce, brand):
request = BuildUrl()+'_search?sort=title:asc&from=0&size='+str(nbr_annonce)+'&q=annonce:'+annonce+'&pretty=true'
print("link:", request)
try:
c.setopt(c.URL, request)
c.setopt(pycurl.WRITEFUNCTION, b.write)
c.perform()
c.close()
print "test"
try:
decoded = json.loads(b.getvalue())
json.dumps(decoded, sort_keys=True, indent=4)
for index in decoded['hits']['hits']:
var = index['_source']['link']
print var
except (ValueError, KeyError, TypeError) as error:
print error
#print "JSON format error"
except IOError as e:
print "I/O error({0}): {1}".format(e.errno, e.strerror)
except Exception, e:
logger.info("[-][FoundIdDocument] Erreur de connexion pycurl")
#
# Fonction qui permet de se connecter
# a la BDD
#
def connectionBDD():
try:
con = mdb.connect('localhost', 'root', 'root', 'toto')
with con:
cur = con.cursor()
cur.execute("SELECT * FROM newsletters")
for i in range(cur.rowcount):
row = cur.fetchone()
print row[1], row[2]
CreateRqtES(row[1], row[2])
except _mysql.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1)
finally:
if con:
con.close()
if __name__=="__main__":
connectionBDD() |
Partager