Spaces:
Sleeping
Sleeping
fschwartzer
commited on
Commit
•
3992853
1
Parent(s):
78ac961
Update app.py
Browse files
app.py
CHANGED
@@ -2,6 +2,7 @@ import gradio as gr
|
|
2 |
import requests
|
3 |
import pandas as pd
|
4 |
from difflib import get_close_matches
|
|
|
5 |
|
6 |
def fetch_data_to_dataframe(query, limit=50, source="mercadolibre"):
|
7 |
if source == "mercadolibre":
|
@@ -18,6 +19,14 @@ def fetch_data_to_dataframe(query, limit=50, source="mercadolibre"):
|
|
18 |
return df
|
19 |
return pd.DataFrame()
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
def filtrar_itens_similares(df, termo_pesquisa, limite=5):
|
22 |
titulos = df['Title'].tolist()
|
23 |
titulos_similares = get_close_matches(termo_pesquisa, titulos, n=limite, cutoff=0.1)
|
@@ -29,6 +38,7 @@ def integrated_app(query):
|
|
29 |
if df.empty:
|
30 |
return "Nenhum dado encontrado. Tente uma consulta diferente.", pd.DataFrame()
|
31 |
|
|
|
32 |
df_similares = filtrar_itens_similares(df, query)
|
33 |
if df_similares.empty:
|
34 |
return "Nenhum item similar encontrado.", pd.DataFrame()
|
|
|
2 |
import requests
|
3 |
import pandas as pd
|
4 |
from difflib import get_close_matches
|
5 |
+
import re # Importa o módulo de expressões regulares
|
6 |
|
7 |
def fetch_data_to_dataframe(query, limit=50, source="mercadolibre"):
|
8 |
if source == "mercadolibre":
|
|
|
19 |
return df
|
20 |
return pd.DataFrame()
|
21 |
|
22 |
+
def refinar_resultados(df):
|
23 |
+
# Filtra itens que não contêm "kit" no título e não indicam múltiplas unidades
|
24 |
+
df_refinado = df[~df['Title'].str.contains("kit", case=False)]
|
25 |
+
# Expressão regular para identificar números seguidos por palavras relacionadas a quantidade
|
26 |
+
padrao_unidades = r'\b(\d+)\s*(unidade|unidades|pacote|pacotes|caixa|caixas)\b'
|
27 |
+
df_refinado = df_refinado[~df_refinado['Title'].str.contains(padrao_unidades, case=False, regex=True)]
|
28 |
+
return df_refinado
|
29 |
+
|
30 |
def filtrar_itens_similares(df, termo_pesquisa, limite=5):
|
31 |
titulos = df['Title'].tolist()
|
32 |
titulos_similares = get_close_matches(termo_pesquisa, titulos, n=limite, cutoff=0.1)
|
|
|
38 |
if df.empty:
|
39 |
return "Nenhum dado encontrado. Tente uma consulta diferente.", pd.DataFrame()
|
40 |
|
41 |
+
df = refinar_resultados(df) # Chama a função de refinamento
|
42 |
df_similares = filtrar_itens_similares(df, query)
|
43 |
if df_similares.empty:
|
44 |
return "Nenhum item similar encontrado.", pd.DataFrame()
|