C# HtmlAgilityPack - PullRequest
       55

C# HtmlAgilityPack

0 голосов
/ 01 мая 2020

Был получен проект от школы. Мне нужно написать бота, который принимает контент на сайте в C #. Я использую плагин с именем HtmlAgiltyPack для этого. Сначала я попытался снять обычный титул. Коды следующие:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    public string html;
    public Uri url;
    private void Form1_Load(object sender, EventArgs e)
    {
        veriAl("https://webrazzi.com/haberler/", "//*[@id='wrapper']/div/div/div[1]/div[1]/div[1]/div/div[2]/div[1]/a/h2", listBox1);
    }
    public void veriAl(string Url, string xPath, ListBox cikansonuc)
    {
        try
        {
            url = new Uri(Url);
        }
        catch(UriFormatException)
        {
            MessageBox.Show("Hatalı Url");
        }
        catch(ArgumentNullException)
        {
            MessageBox.Show("Hatalı Arguman"); 
        }
        WebClient istek = new WebClient();
        istek.Encoding = Encoding.UTF8;
        try
        {
            html = istek.DownloadString(url);
        }
        catch(WebException)
        {
            MessageBox.Show("Hatalı WebException");
        }
        HtmlAgilityPack.HtmlDocument dokuman = new HtmlAgilityPack.HtmlDocument();
        dokuman.LoadHtml(html);
        try
        {
            cikansonuc.Items.Add(dokuman.DocumentNode.SelectSingleNode(xPath).InnerText);
        }
        catch (Exception)
        {

            MessageBox.Show("Xpath Hatası");
        }

    }
}

Таким образом, я могу получать контент с некоторых сайтов, но с ошибками XPath на некоторых сайтах.

Например; https://www.webtekno.com/oyun с этого адреса, / html / body / div [7] / div [2] / div [1] / div / div [2] / div [1] / div [2] / div [2] / div / a / h3 / span Я не могу захватить контент с помощью этого xpath. И почему-то xpath звучит немного по-другому на этом сайте. Я был бы рад, если бы вы могли помочь.

...