c# - 将网页上表格中的文本复制到 C# 中的字符串中
问题描述
我需要做一个这样的列表: List> 我想从这个网站的表格中复制内容。
更具体地说,我想要第一个字符串中语言 1 中的单词和第二个字符串中语言 2 中的单词,然后对该表中的每个单词执行此操作。
我希望能够通过输入一个网址来做到这一点,因为我想为更多语言做到这一点。
这可能很容易,但如果这个问题微不足道,我以前从未做过这样的事情,很抱歉。另外,请原谅我的英语,因为它不是我的母语。提前致谢。
解决方案
您可以使用 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; }
}
推荐阅读
- sql - 根据oracle中返回的每一行排序
- r - 使用带有“rf”方法的 train 函数收到错误消息
- excel - 替换和评估数组
- python - 如何在熊猫中以 d-month-y 格式按日期排序?
- ruby - 未定义的方法 `<' 为 true:TrueClass (NoMethodError)
- java - 当我想要返回结果列表时,如何修复 Java 中的“class java.lang.Long cannot be cast to class java.lang.Integer”错误?
- ios - 使用运行时替换字典的对象方法无效
- android - 用 ViewModel 替换 IntentService
- html - 如何修复:CSS display:inline-block with text-align:center on parent 稍微偏离中心
- jpa - 遇到数组值参数绑定,但期待 [java.lang.String (n/a)]