Testato nuovo skraping
This commit is contained in:
1 parent
89ca167bcc
commit
f8685ad65d
3 files changed
+124
-108
No files matched your search
+93
-93
@@ -493,99 +493,99 @@ namespace A69WD.Net {
|
||||
{
|
||||
if (Status == eLinkState.ToAnalize) {
|
||||
List<string> tmpLk = new List<string>();
|
||||
//
|
||||
// #region Estraggo gli url ad indici:
|
||||
// {
|
||||
// /*
|
||||
// * Gli url delle pagine di indice sono del tipo:
|
||||
// *
|
||||
// * <div class="pagination">
|
||||
// * <a href="/archivio/Tutto">⇤</a>
|
||||
// * <a rel="prev" href="/archivio/Tutto/0">⇠</a>
|
||||
// * <a href="/archivio/Tutto/0">1</a>
|
||||
// * <a class="current">2</a>
|
||||
// * <a href="/archivio/Tutto/2">3</a>
|
||||
// * <a href="/archivio/Tutto/3">4</a>
|
||||
// * <a href="/archivio/Tutto/4">5</a>
|
||||
// * <a href="/archivio/Tutto/5">6</a>
|
||||
// * <a href="/archivio/Tutto/6">7</a>
|
||||
// * <a href="/archivio/Tutto/7">8</a>
|
||||
// * <a href="/archivio/Tutto/8">9</a>
|
||||
// * <a href="/archivio/Tutto/9">10</a>
|
||||
// * <a href="/archivio/Tutto/10">11</a>
|
||||
// * <a class="plain">...</a>
|
||||
// * <a rel="next" href="/archivio/Tutto/2">⇢</a>
|
||||
// * <a href="/archivio/Tutto/3146">⇥</a>
|
||||
// * </div>
|
||||
// *
|
||||
// */
|
||||
// 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:
|
||||
// * <a class="rac" href="{URL}"></a>
|
||||
// *
|
||||
// */
|
||||
// try {
|
||||
// // Estraggo i link ai racconti:
|
||||
// tmpLk = new List<string>();
|
||||
// // 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:
|
||||
*
|
||||
* <div class="pagination">
|
||||
* <a href="/archivio/Tutto">⇤</a>
|
||||
* <a rel="prev" href="/archivio/Tutto/0">⇠</a>
|
||||
* <a href="/archivio/Tutto/0">1</a>
|
||||
* <a class="current">2</a>
|
||||
* <a href="/archivio/Tutto/2">3</a>
|
||||
* <a href="/archivio/Tutto/3">4</a>
|
||||
* <a href="/archivio/Tutto/4">5</a>
|
||||
* <a href="/archivio/Tutto/5">6</a>
|
||||
* <a href="/archivio/Tutto/6">7</a>
|
||||
* <a href="/archivio/Tutto/7">8</a>
|
||||
* <a href="/archivio/Tutto/8">9</a>
|
||||
* <a href="/archivio/Tutto/9">10</a>
|
||||
* <a href="/archivio/Tutto/10">11</a>
|
||||
* <a class="plain">...</a>
|
||||
* <a rel="next" href="/archivio/Tutto/2">⇢</a>
|
||||
* <a href="/archivio/Tutto/3146">⇥</a>
|
||||
* </div>
|
||||
*
|
||||
*/
|
||||
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:
|
||||
* <a class="rac" href="{URL}"></a>
|
||||
*
|
||||
*/
|
||||
try {
|
||||
// Estraggo i link ai racconti:
|
||||
tmpLk = new List<string>();
|
||||
// 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
|
||||
|
||||
@@ -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
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
|
||||
+13
-13
@@ -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();
|
||||
|
||||
Reference in new issue
Block a user