diff --git a/Src/A69WD/Net/cLink_eRac.cs b/Src/A69WD/Net/cLink_eRac.cs index d6c2341..91a8298 100644 --- a/Src/A69WD/Net/cLink_eRac.cs +++ b/Src/A69WD/Net/cLink_eRac.cs @@ -493,99 +493,99 @@ namespace A69WD.Net { { if (Status == eLinkState.ToAnalize) { List tmpLk = new List(); - // - // #region Estraggo gli url ad indici: - // { - // /* - // * Gli url delle pagine di indice sono del tipo: - // * - // * - // * - // */ - // try { - // // Estraggo i link alle altre pagine: - // var tnodes = tdoc.DocumentNode.SelectNodes("//div[@class='pagination']//a[@href]"); - // if (tnodes != null) { - // foreach (var link in tnodes) { - // var href = link.GetAttributeValue("href", ""); - // if (!string.IsNullOrEmpty(href) && href.StartsWith("/archivio/Tutto/")) - // tmpLk.Add(href); //tmpLk.Add(cLink_eRac.PageBase + href); - // } - // } - // // Rimuove duplicati e ordina alfabeticamente - // tmpLk = tmpLk - // .OrderBy(s => s) // ordina alfabeticamente - // .Distinct() // elimina duplicati - // .ToList(); - // // Inserisco i link trovati - // foreach (string ilk in tmpLk) { - // string url = cLink_eRac.PageBase + ilk; - // int offset = int.Parse(ilk.Replace("/archivio/Tutto/", "")); - // string name = $"_eRac_Idx_{offset.ToString("0000")}.html"; - // newlinks.Add(new cLink_eRac(url, name)); - // } - // } catch (Exception ex) { - // Logger.Error("Errore analisi Idx link dal " + FileName + " - " + ex.Message); - // cTools.SaveToFile(thtml, Cfg.Settings.PathSrcErrOnExtract, FileName); - // } - // } - // #endregion - // - // #region Estraggo gli url a racconti: - // { - // /* - // * - // * I link ai racconti sono dei pulsanti così formati: - // * - // * - // */ - // try { - // // Estraggo i link ai racconti: - // tmpLk = new List(); - // // Estraggo i link alle altre pagine: - // var tnodes = tdoc.DocumentNode.SelectNodes("//a[@class='rac']"); - // if (tnodes != null) { - // foreach (var link in tnodes) { - // var href = link.GetAttributeValue("href", ""); - // if (!string.IsNullOrEmpty(href) && href.StartsWith("/racconto/")) - // tmpLk.Add(href); //tmpLk.Add(cLink_eRac.PageBase + href); - // } - // } - // // Rimuove duplicati e ordina alfabeticamente - // tmpLk = tmpLk - // .OrderBy(s => s) // ordina alfabeticamente - // .Distinct() // elimina duplicati - // .ToList(); - // // Inserisco i link trovati - // foreach (string ilk in tmpLk) { - // string url = cLink_eRac.PageBase + ilk; - // string name = ilk.Replace("/racconto/", "eRac_").Replace(@"/", "_") + ".html"; - // newlinks.Add(new cLink_eRac(url, name)); - // } - // } catch (Exception ex) { - // Logger.Error("Errore analisi Idx link dal " + FileName + " - " + ex.Message); - // cTools.SaveToFile(thtml, Cfg.Settings.PathSrcErrOnExtract, FileName); - // } - // } - // #endregion - // + + #region Estraggo gli url ad indici: + { + /* + * Gli url delle pagine di indice sono del tipo: + * + * + * + */ + try { + // Estraggo i link alle altre pagine: + var tnodes = tdoc.DocumentNode.SelectNodes("//div[@class='pagination']//a[@href]"); + if (tnodes != null) { + foreach (var link in tnodes) { + var href = link.GetAttributeValue("href", ""); + if (!string.IsNullOrEmpty(href) && href.StartsWith("/archivio/Tutto/")) + tmpLk.Add(href); //tmpLk.Add(cLink_eRac.PageBase + href); + } + } + // Rimuove duplicati e ordina alfabeticamente + tmpLk = tmpLk + .OrderBy(s => s) // ordina alfabeticamente + .Distinct() // elimina duplicati + .ToList(); + // Inserisco i link trovati + foreach (string ilk in tmpLk) { + string url = cLink_eRac.PageBase + ilk; + int offset = int.Parse(ilk.Replace("/archivio/Tutto/", "")); + string name = $"_eRac_Idx_{offset.ToString("0000")}.html"; + newlinks.Add(new cLink_eRac(url, name)); + } + } catch (Exception ex) { + Logger.Error("Errore analisi Idx link dal " + FileName + " - " + ex.Message); + cTools.SaveToFile(thtml, Cfg.Settings.PathSrcErrOnExtract, FileName); + } + } + #endregion + + #region Estraggo gli url a racconti: + { + /* + * + * I link ai racconti sono dei pulsanti così formati: + * + * + */ + try { + // Estraggo i link ai racconti: + tmpLk = new List(); + // Estraggo i link alle altre pagine: + var tnodes = tdoc.DocumentNode.SelectNodes("//a[@class='rac']"); + if (tnodes != null) { + foreach (var link in tnodes) { + var href = link.GetAttributeValue("href", ""); + if (!string.IsNullOrEmpty(href) && href.StartsWith("/racconto/")) + tmpLk.Add(href); //tmpLk.Add(cLink_eRac.PageBase + href); + } + } + // Rimuove duplicati e ordina alfabeticamente + tmpLk = tmpLk + .OrderBy(s => s) // ordina alfabeticamente + .Distinct() // elimina duplicati + .ToList(); + // Inserisco i link trovati + foreach (string ilk in tmpLk) { + string url = cLink_eRac.PageBase + ilk; + string name = ilk.Replace("/racconto/", "eRac_").Replace(@"/", "_") + ".html"; + newlinks.Add(new cLink_eRac(url, name)); + } + } catch (Exception ex) { + Logger.Error("Errore analisi Idx link dal " + FileName + " - " + ex.Message); + cTools.SaveToFile(thtml, Cfg.Settings.PathSrcErrOnExtract, FileName); + } + } + #endregion + #region Estraggo il racconto dal file e lo inserisco nel DB if (FileName.StartsWith("eRac_")) { // Link ad un racconto diff --git a/Src/A69WD/Properties/AssemblyInfo.cs b/Src/A69WD/Properties/AssemblyInfo.cs index 25d85c1..3a476fb 100644 --- a/Src/A69WD/Properties/AssemblyInfo.cs +++ b/Src/A69WD/Properties/AssemblyInfo.cs @@ -32,8 +32,24 @@ using System.Runtime.InteropServices; // È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build // usando l'asterisco '*' come illustrato di seguito: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.5.2.0")] -[assembly: AssemblyFileVersion("0.5.2.0")] +[assembly: AssemblyVersion("0.5.3.0")] +[assembly: AssemblyFileVersion("0.5.3.0")] + + +/* + * + * Vrs 0.5.3.0 + * + * Compilata da CSiCoAlm il 2026/01/02 + * Inserito nello skraping anche la sorgente eRac + * + * + * ToDo: + * - Aggiungere gestione parallela della FIFO secondo vecchi modello per aumentare il feedback alla UI + * - Inserire anche l'estrazione dei racconti + * - Inserire funzionalità avanzate sul lettore + * + */ /* diff --git a/Src/A69WD/UI/frmReader.cs b/Src/A69WD/UI/frmReader.cs index 131354d..6a31982 100644 --- a/Src/A69WD/UI/frmReader.cs +++ b/Src/A69WD/UI/frmReader.cs @@ -61,9 +61,9 @@ namespace A69WD.UI { mImpStart.Enabled = true; mImpStop.Enabled = false; - // // Update UI - // pnlTop.Enabled = false; - // pnlTop.Visible = false; + // Update UI + pnlTop.Enabled = false; + pnlTop.Visible = false; } @@ -749,17 +749,17 @@ namespace A69WD.UI { // Preparo il servizio serviceCrawler = new Service_Crawler(sb); - // // Inserisco i link iniziali nella coda - // if (!cLink_eRac.InsertStartLink(serviceCrawler)) { - // Logger.Warning("eRac - Insert start link Fault"); - // sbStatusLabel.Text = "eRac fault."; - // return; - // } + // Inserisco i link iniziali nella coda + if (!cLink_eRac.InsertStartLink(serviceCrawler)) { + Logger.Warning("eRac - Insert start link Fault"); + sbStatusLabel.Text = "eRac fault."; + return; + } - // Inserisco link di un racconto: - string url = "https://www.eroticiracconti.it/racconto/105286-nicole-gis-il-culto-della-terza-notte"; // "https://www.eroticiracconti.it/racconto/112763-elara-capitolo-2-il-cambiamento"; - string name = "eRac_112763-elara-capitolo-2-il-cambiamento.html"; - serviceCrawler.EnqueueUrl(new cLink_eRac(url, name)); + //// Inserisco link di un racconto: + //string url = "https://www.eroticiracconti.it/racconto/105286-nicole-gis-il-culto-della-terza-notte"; // "https://www.eroticiracconti.it/racconto/112763-elara-capitolo-2-il-cambiamento"; + //string name = "eRac_112763-elara-capitolo-2-il-cambiamento.html"; + //serviceCrawler.EnqueueUrl(new cLink_eRac(url, name)); // avvio il servizio serviceCrawler.StartWorker();