我需要像这样列出一个列表:List> 我想从此website的表中复制内容。
更具体地说,我希望第一个字符串中的languange 1中的单词和第二个字符串中的languange 2中的单词,然后对该表中的每个单词执行此操作。
我想只输入一个URL就可以做到这一点,因为我想这样做更多。
这可能很容易,但是我之前从未做过这样的事情,如果这个问题很琐碎,请对不起。 另外,请原谅我的英语不是我的母语。 预先感谢。
答案 0 :(得分:1)
您可以使用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; }
}
答案 1 :(得分:0)
您可以签出C#的HTMLAgility包。它也是爬网内容的强大工具。您可以在这里https://html-agility-pack.net/from-web
找到足够的信息