Ejemplo n.º 1
0
def extrairCitadosTextoBestExtract(link,f):
    listaFamosos = model.buscarListaFamoso()
    noticiaDB = model.buscarNoticia(link)

    if noticiaDB != False and listaFamosos != False:
        f.writelines(str(noticiaDB[1]) + "\n")
        noticia = {'id': noticiaDB[0], 'titulo': noticiaDB[1], 'subtitulo': noticiaDB[2], 'link': noticiaDB[3], 'tipo': noticiaDB[4], 'texto': noticiaDB[5]}
        print(str(noticia['titulo']))
        famosos = []
        for j in listaFamosos:
            famosos.append(j[1])

        textoTotal = noticia['titulo'] + " " + noticia['subtitulo'] + " " + noticia['texto']

        result = process.extractBests(textoTotal, famosos,None,None,57,limit=10000)

        for r in result:
            f.writelines(str(r[0])+","+str(round(r[1],1))+"\n")

        return result
Ejemplo n.º 2
0
def extrairCitadosTexto():
    listaFamosos = model.buscarListaFamoso()
    listaNoticias = model.buscarListaNoticias()
    f = open("arquivoTeste.txt", "w")
    f2 = open("arquivoTeste2.txt", "w")
    if listaNoticias != False and listaFamosos != False:
        for i in listaNoticias[:50]:
            f.writelines(str(i[1]) + "\n")
            noticia = {'id': i[0], 'titulo': i[1], 'subtitulo': i[2], 'link': i[3], 'tipo': i[4], 'texto': i[5]}
            print(str(noticia['titulo']))

            bestExtract = extrairCitadosTextoBestExtract(noticia['link'],f2)

            for j in bestExtract:
                famoso = {'nome': j[0]}
                ratioTotal = 0
                mediaRatio = 0
                nomeCompleto = famoso['nome']
                todosNomes = famoso['nome'].split(" ")
                textoTotal = noticia['titulo'] + " " + noticia['subtitulo'] + " " + noticia['texto']

                ratioTotal += fuzz.token_set_ratio(nomeCompleto, textoTotal)
                if len(todosNomes) > 1:
                    for nome in todosNomes:
                        ratioTotal += fuzz.token_set_ratio(nome, textoTotal)

                if len(todosNomes) == 1:
                    mediaRatio = ratioTotal
                elif len(todosNomes) > 1:
                    mediaRatio = ratioTotal / (len(todosNomes) + 1)

                '''print(str(nomeCompleto) + "," + str(mediaRatio))'''
                if mediaRatio > 20:
                    f.writelines(str(nomeCompleto) + "," + str(round(mediaRatio,1))+"\n")

                if mediaRatio > 85:
                    '''model.relacionarFamosoNoticia(famoso['nome'], noticia['id'])'''
                    '''print(" - " + str(nomeCompleto))'''
        f.close()
        f2.close()
Ejemplo n.º 3
0
        crawlerListaFamosos()
        tentarNovamente = False
    except Exception as e:
        print(str(e))
        print("Esperando 5 segundos.....")
        time.sleep(5)
        qtd += 1
        if qtd > 5:
            tentarNovamente = False
'''
print("*****************************************************")
print("*****************************************************")
print("***********INICIO FAMOSO RELACIONADO*****************")
print("*****************************************************")
print("*****************************************************")

tentarNovamente = True
posicaoFamoso = qtdTentativas = 1830
listafamosos = model.buscarListaFamoso()
while posicaoFamoso <= (len(listafamosos) - 1):
    print("Famoso: " + str(posicaoFamoso + 1) + "/" + str(len(listafamosos)))
    if crawlerFamosoRelacionados(listafamosos[posicaoFamoso]) == True:
        posicaoFamoso += 1
    else:
        print("Esperando 5 segundos.....")
        time.sleep(5)
        qtdTentativas += 1
        if qtdTentativas > 5:
            posicaoFamoso += 1

Ejemplo n.º 4
0
__author__ = 'Gabriel'

import threading
import time
import queue
import noticias
import model
from fuzzywuzzy import fuzz
from fuzzywuzzy import process

exitFlag = False
listaFamosos = []
for j in model.buscarListaFamoso():
    listaFamosos.append(j[1])

class myThread (threading.Thread):
    def __init__(self, threadID, name, queue):
        threading.Thread.__init__(self)
        self.threadID = threadID
        self.name = name
        self.queue = queue

    def run(self):
        print("Iniciando " + str(self.name))
        extrairCitadosTexto(self.name, self.queue, listaFamosos)
        print("Finalizando " + str(self.name))

def extrairCitadosTexto(threadName, queue, listaFamosos):
    queueLock.acquire()
    while not workQueue.empty():
        n = queue.get()