- Autocommit - 2021/11/08 08:01:21
This commit is contained in:
1 parent
a6fdfd64b2
commit
fb8adcae36
2 files changed
+1
-198
No files matched your search
-197
@@ -1,197 +0,0 @@
|
|||||||
#+SETUPFILE: ~/.MyCfg/emacs/templates/org-html-themes/theme-readtheorg-local.setup
|
|
||||||
#+TITLE: Web Scraper per A69
|
|
||||||
#+DESCRIPTION: Diario di bordo dell'applicazione per ricavare i racconti dal sito A69
|
|
||||||
#+KEYWORDS: ATDB, ATWD
|
|
||||||
|
|
||||||
|
|
||||||
* DONE Inserire nello stato i conteggio dei link
|
|
||||||
* TODO Inserire il conto dei link anche sul nome del file o fare report
|
|
||||||
Inserire sul nome dei file, oltre alla data anche il numero di link che contengono, oppure fare un report che riassuma quanto fatto e che torna utile per confrontare due download diversi ecc...
|
|
||||||
|
|
||||||
* DONE Verificare il formato di salvataggio, perchè le accentuate e alcuni segni vengono male.
|
|
||||||
* DONE Fare parser di un file di link che inserisce quelli nuovi sul toDownload o li inserisce sul DB con lo stato ToDownload.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* BUG:
|
|
||||||
** ISSUE 01: [2021-11-03 mer]
|
|
||||||
Quando riprendo uno scarico, riscarico anche quelli già scaricati.
|
|
||||||
Tutte le volte che riprendo un download, riscarico anche quelli già downloadati, e quindi
|
|
||||||
devo verificare che salvo tutti quelli già downloadati (lista all da verificare sia
|
|
||||||
all'inizio che alla fine).
|
|
||||||
|
|
||||||
|
|
||||||
* TODO Vrs 0.2.0.0 :WORKING:
|
|
||||||
Applicazione che salva tutto su SQLite, inoltre è del tutto automatizzata e quindi basta
|
|
||||||
avviarla e quando ha finito si spegne, altrimenti è sempre possibile fermarla a comando,
|
|
||||||
senza perdere traccia di quanto fatto.
|
|
||||||
|
|
||||||
Per serializzare i dati utilizzo SQLlite con la tabella che mi permetta di risalire
|
|
||||||
velocemente ai link fatti, e a quelli da fare
|
|
||||||
|
|
||||||
| URL | Tipo | Stato | Update |
|
|
||||||
|-----+------+-------+--------|
|
|
||||||
|
|
||||||
- URL :: indica l'url a cui vi è la pagina da downloadare (sia indice che racconto)
|
|
||||||
- Tipo :: indica la tipologia della pagina, cioè Idx per le pagine che sono indici/elenchi
|
|
||||||
di racconti
|
|
||||||
- Stato :: Indica lo stato associato al link che sarà definito in basee alla seguente
|
|
||||||
enumerazione *LinkStatusEnum*:
|
|
||||||
- ToDownload
|
|
||||||
- Downloading
|
|
||||||
- Downloaded
|
|
||||||
e quindi all'avvio, mi basta caricare l'elenco dei link che hanno stato diverso da
|
|
||||||
Downloaded e riprendere il download
|
|
||||||
- Update :: indica la data in cui eseguo l'ultimo update al record
|
|
||||||
|
|
||||||
|
|
||||||
* TODO Vrs 0.1.7.0 :WORKING:
|
|
||||||
- Definire un'icona in modo da migliorare estetica
|
|
||||||
- Gestire il ridursi ad icona sulla tray in modo da poterlo nascondere
|
|
||||||
- Inserire l'estrazione dei racconti
|
|
||||||
|
|
||||||
** Estrazione dei racconti
|
|
||||||
I file di racconto hanno una struttura del tipo:
|
|
||||||
#+begin_src html
|
|
||||||
...
|
|
||||||
<DIV class=targhetta_racconti style="BACKGROUND-COLOR: #8dbebc">Lui & Lei</DIV>
|
|
||||||
...
|
|
||||||
<H1 class=titolone_nero>01 - Marco e Daniela - Voglia di nuove esperienze estreme</H1>
|
|
||||||
...
|
|
||||||
<SPAN class=text_grigio style="FONT-SIZE: 16px; COLOR: #999999; LINE-HEIGHT: 1.6em"><A href="/user/ombraerotica"><IMG class=img_border style="VERTICAL-ALIGN: middle; border-radius: 50%" border=0 src="https://img.annunci69.it/annunci/83/2808083/ombraerotica/icone/2808083.jpg?vers=1586358574" width=65 height=65></A> <STRONG>di <A href="/user/ombraerotica">ombraerotica</A></STRONG></SPAN>
|
|
||||||
...
|
|
||||||
<SPAN class=text_grigio style="FONT-SIZE: 13px; COLOR: #9999cc; LINE-HEIGHT: 1.6em">07.04.2020 | <I class="fa fa-eye"></I>8.850 | <I class="fa fa-comment"></I>6 <SPAN style="DISPLAY: none">9.2</SPAN> </SPAN>
|
|
||||||
...
|
|
||||||
<DIV class=testoracc>
|
|
||||||
<DIV class=citaz><EM>{Citazione}</EM></DIV>
|
|
||||||
{Trama}
|
|
||||||
<DIV style="FONT-SIZE: 11px; BORDER-TOP: #cccccc 1px solid; COLOR: #c8c2c2; PADDING-BOTTOM: 8px; PADDING-TOP: 8px; PADDING-LEFT: 8px; MARGIN-TOP: 20px; LINE-HEIGHT: normal; PADDING-RIGHT: 8px"><STRONG>Disclaimer</STRONG>! Tutti i diritti riservati all'autore del racconto - Fatti e persone sono<STRONG> puramente frutto della fantasia dell'autore</STRONG>. Annunci69.it non è responsabile dei contenuti in esso scritti ed è <STRONG>contro ogni tipo di violenza</STRONG>! <BR>Vi invitiamo comunque a <A href="/scrivici.php">segnalarci i racconti</A> che pensate non debbano essere pubblicati, sarà nostra premura riesaminare questo racconto.</DIV>
|
|
||||||
</DIV>
|
|
||||||
...
|
|
||||||
<DIV style="FLOAT: left"><STRONG>Votazione dei Lettori:</STRONG> 9.2</DIV>
|
|
||||||
...
|
|
||||||
#+end_src
|
|
||||||
che mi permette di ricavare tutte le informazioi utili.
|
|
||||||
|
|
||||||
Come note, oltre alla classica SrcFile, voglio inserire anche la SrcVot (votazione sul
|
|
||||||
sito) per poter fare un filtro o un ordinamento in base alla votazione del sito anche per
|
|
||||||
i racconti che non ho ancora letto.
|
|
||||||
|
|
||||||
Ogni racconto avrà quindi la struttura:
|
|
||||||
#+begin_example
|
|
||||||
- ID Rac: ...
|
|
||||||
- Title: ...
|
|
||||||
- SubTit: ...
|
|
||||||
- Autors: ... -|- ...
|
|
||||||
- Voto: Non Letto
|
|
||||||
- Tags: ... -|- ...
|
|
||||||
- Notes: SrcFile -|- ...
|
|
||||||
- Notes: SrcVot -|- ...
|
|
||||||
- Creato: YYYY/MM/DD
|
|
||||||
- Update: YYY/MM/DD
|
|
||||||
- Origin: ... -|- ...
|
|
||||||
- Trama: ...
|
|
||||||
#+end_example
|
|
||||||
In cui vi sono le relazioni:
|
|
||||||
- 1-->Molti Racconto-->Autori
|
|
||||||
- 1-->Molti Racconto-->Tags
|
|
||||||
- 1-->Molti Racconto-->Origine
|
|
||||||
- 1-->Molti Racconto-->Note
|
|
||||||
- 1-->1 Racconto-->Trama
|
|
||||||
- 1-->1 Racconto-->Voto
|
|
||||||
|
|
||||||
|
|
||||||
La nota SrcVoto mi permette di navigare evidenziando i racconti per votazione:
|
|
||||||
#+begin_src sql
|
|
||||||
--
|
|
||||||
-- Vista dei racconti con la relativa votazione:
|
|
||||||
--
|
|
||||||
SELECT * FROM Notes,Racconti,Links_Rac_Not
|
|
||||||
WHERE NKey='SrcVoto' AND Notes.IDnot=Links_Rac_Not.IDnot AND Links_Rac_Not.IDrac=Racconti.IDrac
|
|
||||||
ORDER BY NVal;
|
|
||||||
--
|
|
||||||
-- Conteggio dei racconti in base alla votazione:
|
|
||||||
--
|
|
||||||
SELECT Notes.NKey, Notes.NVal, Count(NVal) as Num
|
|
||||||
FROM Notes, Racconti, Links_Rac_Not
|
|
||||||
WHERE NKey='SrcVoto' AND Notes.IDnot=Links_Rac_Not.IDnot AND Links_Rac_Not.IDrac=Racconti.IDrac
|
|
||||||
GROUP BY Notes.NVal
|
|
||||||
ORDER BY Num ;
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
|
|
||||||
* DONE Vrs 0.1.6.0 :DONE:
|
|
||||||
Compilata da CSiCoAlm il 2021/11/07
|
|
||||||
- Corretto bug rilevato (ISSUE 01)
|
|
||||||
- Inserita solita icona per i tools.
|
|
||||||
- Sistemato la classe cTools inserendo tutti i tools trovati finora
|
|
||||||
|
|
||||||
* DONE Vrs 0.1.5.4 :DONE:
|
|
||||||
Compilata da CSiCoAlm il 2021/10/29
|
|
||||||
- Modificato path di salvataggio dei file per farlo analogo a ATWD.
|
|
||||||
|
|
||||||
* DONE Vrs 0.1.5.3 :DONE:
|
|
||||||
Compilata da CSiCoAlm il 2021/10/29
|
|
||||||
- Corretto salvataggio dei file di racconti, per evitare l'errore del formato (lettere accentate e caratteri particolari).
|
|
||||||
- Fatto anche dei test di salvataggio dei testi per trovare il corretto formato dell'encode.
|
|
||||||
|
|
||||||
|
|
||||||
* DONE Vrs 0.1.5.2 :DONE:
|
|
||||||
Modifica per:
|
|
||||||
- Inserire l'importazione di link (solo Idx o Rac di A69) da file di testo
|
|
||||||
- Correggere l'importazione ed esportazione degli elenchi dal DB
|
|
||||||
|
|
||||||
|
|
||||||
* Vrs 0.1.5.1 :DONE:
|
|
||||||
Breve modifica per:
|
|
||||||
- Corretto formato del numero di versione
|
|
||||||
- Razionalizzato il messaggio di update dell'engine.
|
|
||||||
- Inserito gli aggiornamenti dell'engine sul log degli eventi
|
|
||||||
|
|
||||||
* Vrs 0.1.5.0 :DONE:
|
|
||||||
Applicazione che serializza i dati su SQLite, ma continua ad usare liste internamente per
|
|
||||||
recuperare il codice già fatto.
|
|
||||||
|
|
||||||
Per serializzare i dati utilizzo SQLlite con la tabella che mi permetta di risalire
|
|
||||||
velocemente ai link fatti, e a quelli da fare
|
|
||||||
|
|
||||||
| URL | Tipo | Stato | Update |
|
|
||||||
|-----+------+-------+--------|
|
|
||||||
|
|
||||||
- URL :: indica l'url a cui vi è la pagina da downloadare (sia indice che racconto)
|
|
||||||
- Tipo :: indica la tipologia della pagina, cioè Idx per le pagine che sono indici/elenchi
|
|
||||||
di racconti
|
|
||||||
- Stato :: Indica lo stato associato al link che sarà definito in basee alla seguente
|
|
||||||
enumerazione *LinkStatusEnum*:
|
|
||||||
- ToDownload
|
|
||||||
- Downloading
|
|
||||||
- Downloaded
|
|
||||||
e quindi all'avvio, mi basta caricare l'elenco dei link che hanno stato diverso da
|
|
||||||
Downloaded e riprendere il download
|
|
||||||
- Update :: indica la data in cui eseguo l'ultimo update al record
|
|
||||||
|
|
||||||
All'avvio carico sulle liste interne i vari link con il metodo DBTools.LoadData e al
|
|
||||||
termine salvo lo stato delle liste aggiornando i record sul DB tramite il metodo
|
|
||||||
DBTools.SaveData. In questo modo posso iniziare un download e interrompere la procedura
|
|
||||||
per poi riprenderla in un secondo momento senza problemi.
|
|
||||||
|
|
||||||
|
|
||||||
* Test funzionamento in consol: :ABORT:
|
|
||||||
verifichiamo se è possibile operare come consol:
|
|
||||||
|
|
||||||
PURTROPPO NON FUNZIONA SE MESSO COME CONSOLE APPLICATION
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Vrs 0.1.0.0 :DONE:
|
|
||||||
- Compilata da CSiCoAlm il 2021/10/26
|
|
||||||
- Prima versione che permette di scaricare i file da A69 bypassando il controllo del browser.
|
|
||||||
- Manca:
|
|
||||||
- Serializzazione degli archivi per poter riprendere il download parziale dei racconti o
|
|
||||||
la scansione parziale dei link
|
|
||||||
- Gestione in thread paralleli dei download
|
|
||||||
- Riduzione ad icona per non visualizzare il tutto (privacy)
|
|
||||||
- Parametrizzazione del lavoro
|
|
||||||
- Loggin degli eventi
|
|
||||||
- Rendere l'applicativo consol, in modo che non vi sia interfaccia utente.
|
|
||||||
|
|
||||||
+1
-1
@@ -45,7 +45,7 @@ velocemente ai link fatti, e a quelli da fare
|
|||||||
- Update :: indica la data in cui eseguo l'ultimo update al record
|
- Update :: indica la data in cui eseguo l'ultimo update al record
|
||||||
|
|
||||||
|
|
||||||
* TODO Vrs 0.1.6.0 :WORKING:
|
* TODO Vrs 0.1.7.0 :WORKING:
|
||||||
- Definire un'icona in modo da migliorare estetica
|
- Definire un'icona in modo da migliorare estetica
|
||||||
- Gestire il ridursi ad icona sulla tray in modo da poterlo nascondere
|
- Gestire il ridursi ad icona sulla tray in modo da poterlo nascondere
|
||||||
- Inserire l'estrazione dei racconti
|
- Inserire l'estrazione dei racconti
|
||||||
|
|||||||
Reference in new issue
Block a user