-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAlterações
192 lines (132 loc) · 5.7 KB
/
Alterações
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
Futuro:
Input área para múltiplas páginas (mesmo site)
Puxar imagens, links
Pagina para carregar o JSON e analisar os dados
soup.find_all('img') <- Pega todas as imagens da página
print(soup.get_text()) <- Pega todo o testo da página
Usar nova lógica de buscar elementos para:
-> Usar lógica para buscar elementos próximos a ele (mal implementado)
biblioteca para acentuação
Guardar class/id de sites em JSON, guardar também para ignorar textos desnecessários
Montar lógica para ML, carregando JSON
Adicionar préfixo e sufixo para as páginas em sequência
Melhorar lógica existente do buscar exemplo
Carregar JSON:
>>> from PIL import Image
>>> image = Image.open('sunrise.jpg')
>>>
>>> st.image(image, caption='Sunrise by the mountains')
>>> audio_file = open('myaudio.ogg', 'rb')
>>> audio_bytes = audio_file.read()
>>>
>>> st.audio(audio_bytes, format='audio/ogg')
>> video_file = open('myvideo.mp4', 'rb')
>>> video_bytes = video_file.read()
>>>
>>> st.video(video_bytes)
streamlit.file_uploader(label, type=None, accept_multiple_files=False, key=None, help=None)
color = st.select_slider(
'Select a color of the rainbow',
options = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet'])
st.write('My favorite color is', color)
##
Busca Externa para interna
head_tag = soup.head
head_tag
# <head><title>The Dormouse's story</title></head>
head_tag.contents
# [<title>The Dormouse's story</title>]
title_tag = head_tag.contents[0]
title_tag
# <title>The Dormouse's story</title>
title_tag.contents
# ['The Dormouse's story']
##
Erros:
-> Printando a quantidade de páginas extras informadas
=> Escolhendo 2 páginas ele printa a index e mais 2 páginas
Exemplos:
Básico:
Principal: https://www.amazon.com.br/s?k=stephen+king
Proximas: https://www.amazon.com.br/s?k=stephen+king&page=2
https://www.amazon.com.br/s?k=stephen+king&page=3
Intermediário:
Principal: https://www.americanas.com.br/busca/stephen-king
Proximas: https://www.americanas.com.br/busca/stephen-king?limit=24&offset=24
https://www.americanas.com.br/busca/stephen-king?limit=24&offset=48
18/05/2021
\
- Adição do SessionState.py usado para guardar o estado atual (variáveis globais)
- Cria arquivo.JSON
- Opcionalidade pro usuário baixar ou não JSON, remover forçado ou n os \n e \t
- Nova janela para Carregamento do JSON
19/05/2021
- Projeto Comentado
- Corrigido erro de duplicação widget
- Tag <i> adicionada
- Correções no encode/decode UTF8
- Config do IMDB e Amazon Salvas
- Lógica de multipáginas iniciada (falta mais testes)
- Lógica feita para manter os valores antigos ao passar de páginas
20/05/2021 - 21/05/2021
Nova janela pra buscar elementos pelo conteúdo
- Janela criada
- Lógica para buscar elemento (burlando case sensitive)
- Acha a tag pai e seus atributos
21/05/2021 - 22/05/2021
Evolução em buscar elementos pelo conteúdo
- Lógica para guardar e checar se o último link buscado é o mesmo do último usado
> Isso evita de fazer outra requisição, evitando de o IP ser banido e também busca mais rapidamente
- Revisão na lib - Soup Beatiful
- Coleta elementos de tag iguais dinamicamente (falta polir)
- Busca tag mais exterior (falta procurar exemplos para tags ainda mais englobadas)
- Buscar exemplo de função para package
Minerar Manual
- Tag de unicidade adicionada no JSON
22/05/2021 - 23/05/2021
Modularização, novas lógicas e novos layouts
- Minerar, Exemplo e Espaco migrados para um package
- Tentativa de colocar o funcionamento de recarregar em um package mal sucedido
- Corrigido erro de DuplicateWidgetID no buscar texto
- Iniciado lógica para separar elementos de uma div com muitos elementos {feita em parte}
- Iniciado lógica para carregar scraps salvos (sem se restringir apenas ao último) -> Por enquanto só lista
- Aparecendo itens que estão dentro de uma tag, com a possibilidade de escolher quais quer manter
> possibilidade de selecionar tudo e remover aos poucos.
Layout:
- Dropdown para mostrar o último scrap
- Exemplo melhorado (negrito)
- Elemento próprio para JSON utilizado
- Quantidade de inputs alterado para number.value
23/05/2021
FrontEnd
- Adaptação de Radio para Checkbox aonde necessário
- Mensagem avisando que está carregando ao buscar múltiplas páginas
- Adicionando Título e deixando o layout wide como padrão
- Mensagem de erro estilizada
- Streamlit.components importado + testes com HTML
- Exemplo melhorado/estilizado
BackEnd
- Opção de escolher último scrap inserido na lista de scraps
- Correção cast bool() não converte corretamente a string
- Carregamento de JSON concluído com sucesso tanto as config quanto results
- Agora todos os arquivos salvos são em JSON (Faltava o último)
Front + Back
- Carregar JSON continuado
- Carrega arquivos
- Gera tabela (ainda não está 100%)
26/05/2021
- Ignora retorno ruins ao puxar texto, puxando vazio ou None, facilita ao escolher itens ruins
- Falta retirar resíduos
- Correção em encodificação/decodificação UTF-8, vindo quebrada
- printa texto formatado
- Adicionado Strip() para corrigir textos com espaços longos
- Corrigido erro de DuplicateWidgetID caso seja escolhido 2 tags pais diferentes
- Feito testes em diversos sites, funcionando bem ou parcialmente na maioria
28/05/2021
- Buscar exemplo agora é flexível o nível de generalização em que buscará as tags similares
> Dessa forma sites que deixam textos separados em blocos podem ser obtidos os textos completos
- "Mostrar tag pai" alterado para checkbox
- Mostra tag filho e pai
- Nova checkbox para tags dividida em partes
- Adicionado para escolher itens ruins em tags agrupadas
- Nova opção extra junto da divisão em partes, para separar em paragrafos (não está 100% ainda)