Web Tool Update di inforge sul tuo autopatcher

JustARegularGuy

Utente Gold
22 Giugno 2015
636
39
215
314
Salve a tutti, parto con il dire che non so se sia consentito il web scraping su inforge, in tal caso @Max Fridman chiedo scusa e chiedo la cancellazione del topic il prima possibile.
Questo che sto per rilasciare é un semplice web scraping che legge i vostri post sul vostro topic di Inforge.
La domanda sicuramente é: Cosa me ne faccio?
La mia idea era utilizzarla sugli autopatcher in modo che ogni qual volta voi pubblichiate qualche Update/News su Inforge, automaticamente il player che si ritrova ad aprire l'autopatcher vede nella sezione Notizie ció.
Questa funzione se utilizzata bene vi risparmia un sacco di lavoro, ma questo sta a voi saperla gestire. Per questo script ho utilizzato HtmlAgilityPack che semplifica di molto il lavoro.

Infine ecco qui il codice:


C#:
using HtmlAgilityPack;
using System;
using System.Net;
using System.Text.RegularExpressions;

namespace InforgeScraping
{
    class Program
    {
        const string Author = ""; //Inserire qui il vostro nick inforge "Preferibilmente senza caratteri speciali"
        static void Main(string[] args)
        {
            WebClient test = new WebClient();
            test.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36");
            HtmlAgilityPack.HtmlDocument DocToParse = new HtmlAgilityPack.HtmlDocument();
            DocToParse.LoadHtml(test.DownloadString("")); //Inserire tra le virgolette il vostro link

            foreach (HtmlNode div in DocToParse.DocumentNode.SelectNodes("//div[contains(@class,'message-userContent lbContainer js-lbContainer ')]"))
            {
                string author = div.Attributes["data-lb-caption-desc"].Value;
                if (author.ToLower().Contains(Author.ToLower()))
                {
                    string clean = Regex.Replace(div.ChildNodes["article"].InnerText, @" |\t|\r|\n", "");
                    Console.WriteLine(clean);
                } 
            }
        }
    }
}

Fatene buon uso e per correttezza inserite i crediti di Inforge sull'autopatcher.