首页 > 解决方案 > 将网页上表格中的文本复制到 C# 中的字符串中

问题描述

我需要做一个这样的列表: List> 我想从这个网站的表格中复制内容。

更具体地说,我想要第一个字符串中语言 1 中的单词和第二个字符串中语言 2 中的单词,然后对该表中的每个单词执行此操作。

我希望能够通过输入一个网址来做到这一点,因为我想为更多语言做到这一点。

这可能很容易,但如果这个问题微不足道,我以前从未做过这样的事情,很抱歉。另外,请原谅我的英语,因为它不是我的母语。提前致谢。

标签: c#

解决方案


您可以使用 AngleSharp

 public static async Task Main(string[] args)
 {
    List<WordCls> wordList = new List<WordCls>();

    IBrowsingContext context = BrowsingContext.New(Configuration.Default.WithDefaultLoader());
    Url url = Url.Create("http://1000mostcommonwords.com/1000-most-common-afrikaans-words");
    IDocument doc = await context.OpenAsync(url);
    IElement tableElement = doc.QuerySelector("table");
    var trs = tableElement.QuerySelectorAll("tr");

    foreach (IElement tr in trs.Next(selector: null))
    {
        var tds = tr.QuerySelectorAll("td");
        WordCls word = new WordCls
        {
            Number = Convert.ToInt32(tds[0].Text()),
            African = tds[1].Text(),
            English = tds[2].Text()
        };

        wordList.Add(word);
    }

    Console.WriteLine(wordList.Count);

}

public class WordCls
{
    public int Number { get; set; }
    public string African { get; set; }
    public string English { get; set; }
}

推荐阅读