C # Téléchargement du profil Instagram au format HTML

c# download html html-agility-pack instagram

Question

J'ai essayé de télécharger un profil Instagram public dans les statistiques de récupération telles que les abonnés et la bio. Je fais cela dans une application console # et je télécharge le code HTML à l'aide de HTML Agility Pack.

Code:

string url = @"https://www.instagram.com/" + Console.ReadLine() + @"/?hl=en";
Console.WriteLine();

HtmlWeb web = new HtmlWeb();
HtmlDocument document = web.Load(url);
document.Save(path1);

Lorsque je le sauvegarde bien que tout ce que je reçois est un tas de scripts et un écran vide:

entrez la description de l'image ici

Je me demandais comment enregistrer le code HTML une fois que tous les scripts avaient été exécutés et avaient formé le contenu.

Réponse acceptée

RÉPONDRE

Merci pour les suggestions sur la façon de télécharger le code HTML! J'ai réussi à renvoyer des informations instagram à la fin. Voici le code:

//(This was done using HTML Agility Pack)

string url = @"https://www.instagram.com/" + Console.ReadLine() + @"/?hl=en";

HtmlWeb web = new HtmlWeb();
HtmlDocument document = web.Load(url);

var metas = document.DocumentNode.Descendants("meta");
var followers = metas.FirstOrDefault(_ => _.HasProperty("name", "description"));

if (followers == null) { Console.WriteLine("Sorry, Can't Find Profile :("); return; }

var content = followers.Attributes["content"].Value.StopAt('-');

Console.WriteLine(content);

Et HasProperty () & StopAt ()

//(This was done using HTML Agility Pack)

string url = @"https://www.instagram.com/" + Console.ReadLine() + @"/?hl=en";

HtmlWeb web = new HtmlWeb();
HtmlDocument document = web.Load(url);

var metas = document.DocumentNode.Descendants("meta");
var followers = metas.FirstOrDefault(_ => _.HasProperty("name", "description"));

if (followers == null) { Console.WriteLine("Sorry, Can't Find Profile :("); return; }

var content = followers.Attributes["content"].Value.StopAt('-');

Console.WriteLine(content);

REMARQUE:

Cependant, ce n'est toujours pas la réponse que je cherche. J'ai encore une épave de HTML qui n'est pas structuré de la même manière que le HTML que je reçois quand je le regarde dans Google Chrome. En effectuant des recherches dans le code HTML, j'ai réussi à redimensionner le code HTML sans contenu pour une balise META contenant le contenu. C’est bien pour cela, mais si je vais continuer à utiliser cette méthode pour trouver du contenu HTML, alors ce ne sera peut-être pas la même chose


Réponse populaire

    public MainWindow()
    {
        InitializeComponent();
        WB_1.Navigate(@"https://www.instagram.com/" + Console.ReadLine() + @"/?hl=en");

        WB_1.LoadCompleted += wb_LoadCompleted;
    }

    void wb_LoadCompleted(object sender, NavigationEventArgs e)
    {
        dynamic doc = WB_1.Document;
        string htmlText = doc.documentElement.InnerHtml;
    }



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi