![](/img/trans.png)
[英]Scraping specific pieces of data from website in C# using HtmlAgilityPack
[英]scraping data from website with a C# console application
我正在努力學習西班牙語並制作一些閃存卡(供我個人使用)以幫助我學習動詞。
這是一個示例頁面示例 。 所以在頁面頂部附近你會看到過去的分詞:bloqueado和gerund:bloqueando。 我希望在我的代碼中獲取這兩個值並用於我的閃存卡。
如果可以的話,我將使用C#控制台應用程序。 我知道從網站上抓取數據並不理想,但這是一次性的。
關於如何開始這樣的事情和避免陷阱的任何指導將是非常有幫助的!
我知道這不是一個確切的答案,但這是我建議的過程。
<section class="verb-mood-section">
中提取單詞。 您可以選擇是將它們輸出到控制台還是將它們存儲在數據庫或平面文件中。 理論上應該這么簡單。
使用SGMLReader 。 SGMLReader是一個多功能且強大的組件,可以將HTML流式傳輸到XMLReader:
XmlDocument FromHtml(TextReader reader) {
// setup SgmlReader
Sgml.SgmlReader sgmlReader = new Sgml.SgmlReader();
sgmlReader.DocType = "HTML";
sgmlReader.WhitespaceHandling = WhitespaceHandling.All;
sgmlReader.CaseFolding = Sgml.CaseFolding.ToLower;
sgmlReader.InputStream = reader;
// create document
XmlDocument doc = new XmlDocument();
doc.PreserveWhitespace = true;
doc.XmlResolver = null;
doc.Load(sgmlReader);
return doc;
}
您可以看到首先需要創建TextReader。 這實際上是一個StreamReader,因為TextReader是一個抽象類。
然后在其上創建XMLDocument。 一旦進入XMLDocument,就可以使用XMLDocument支持的各種方法來隔離和提取所需的節點。 我會讓你去探索它的那個方面。
您可以嘗試使用XDocument類,因為它比XMLDocument更容易處理,特別是如果您是新手。 它還支持LINQ。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.