在生產環境中測試而不帶水印。
適用於您所需的任何地方。
獲得 30 天完整功能產品。
幾分鐘內即可運行。
在您的產品試用期間全面訪問我們的支援技術團隊
30DAYFREE
using IronWebScraper;
public class Program
{
private static void Main(string[] args)
{
var ScrapeJob = new BlogScraper();
ScrapeJob.Start();
}
}
public class BlogScraper : WebScraper
{
public override void Init()
{
LoggingLevel = LogLevel.All;
Request("https://www.zyte.com/blog/", Parse);
}
public override void Parse(Response response)
{
foreach (HtmlNode title_link in response.Css(".oxy-post-title"))
{
string strTitle = title_link.TextContentClean;
Scrape(new ScrapedData() { { "Title", strTitle } });
}
if (response.CssExists("div.oxy-easy-posts-pages > a[href]"))
{
string next_page = response.Css("div.oxy-easy-posts-pages > a[href]")[0].Attributes["href"];
Request(next_page, Parse);
}
}
}
Install-Package IronWebScraper
設計用於C#, F#, & VB.NET運行於.NET 10, 9, 8, 7, 6, 5, Core, Standard或Framework
從單個C#類別中抓取數千頁面。CSS選擇器、XPath、JavaScript渲染、虛擬身份和禮貌控制於一個程式庫中。
Request(url, Parse), response.Css(".selector"), Scrape(data).using IronWebScraper;
public class Program
{
private static void Main(string[] args)
{
var ScrapeJob = new BlogScraper();
ScrapeJob.Start();
}
}
public class BlogScraper : WebScraper
{
public override void Init()
{
LoggingLevel = LogLevel.All;
Request("https://www.zyte.com/blog/", Parse);
}
public override void Parse(Response response)
{
foreach (HtmlNode title_link in response.Css(".oxy-post-title"))
{
string strTitle = title_link.TextContentClean;
Scrape(new ScrapedData() { { "Title", strTitle } });
}
if (response.CssExists("div.oxy-easy-posts-pages > a[href]"))
{
string next_page = response.Css("div.oxy-easy-posts-pages > a[href]")[0].Attributes["href"];
Request(next_page, Parse);
}
}
}
Imports IronWebScraper
Public Class Program
Public Shared Sub Main(ByVal args() As String)
Dim ScrapeJob = New BlogScraper()
ScrapeJob.Start()
End Sub
End Class
Public Class BlogScraper
Inherits WebScraper
Public Overrides Sub Init()
LoggingLevel = LogLevel.All
Request("https://www.zyte.com/blog/", AddressOf Parse)
End Sub
Public Overrides Sub Parse(ByVal response As Response)
For Each title_link As HtmlNode In response.Css(".oxy-post-title")
Dim strTitle As String = title_link.TextContentClean
Scrape(New ScrapedData() From {
{ "Title", strTitle }
})
Next title_link
If response.CssExists("div.oxy-easy-posts-pages > a[href]") Then
Dim next_page As String = response.Css("div.oxy-easy-posts-pages > a[href]")(0).Attributes("href")
Request(next_page, AddressOf Parse)
End If
End Sub
End Class
Install-Package IronWebScraper
只需編寫一個C#網頁抓取類別,即可將數千甚至數百萬個網頁抓取為C#類別實例、JSON或下載的文件。IronWebScraper允許您編寫簡潔的線性工作流程,模擬人類的瀏覽行為。IronWebScraper將您的程式作為一群虛擬網頁瀏覽器運行,並且在大規模並行的同時,保持禮貌並具備容錯能力。
開始使用文件
IronWebScraper必須被程式化以瞭解如何處理所遇到的每個「型別」頁面。這可以透過CSS選擇器或XPath表達式以非常簡潔的方式達成,並可以在C#中完全自訂。這種自由度讓您可以決定要抓取網站中的哪些頁面,以及如何處理提取的資料。每個方法都可以在Visual Studio中整齊地進行除錯和觀察。
遵循教程IronWebScraper 處理多執行緒和網路請求,使開發者無需管理便能夠啟用數百個併發執行緒。可以設置禮貌來限制請求的頻率,從而降低目標網頁伺服器過載的風險。
開始使用WebScraper
IronWebScraper可以使用一個或多個「身份」 - 模擬現實世界人類請求的會話。每次請求可以程式化或隨機分配其自己的身份、使用者代理、Cookie、登入資訊,甚至IP地址。請求設置為自動唯一,結合URL、解析方法和post變數。
See API ReferenceIronWebScraper使用先進的快取技術,讓開發者可以即時修改程式碼並重播每個先前的請求而無需連接網際網路。每個擷取任務會自動儲存,並可在發生異常或停電影響時恢復。
WebScraper設置說明IronWebScraper透過Visual Studio安裝程式,讓您快速擁有Web Scraping工具。無論是在Visual Studio內直接從NuGet安裝,或是下載DLL,您都能迅速設定完成。僅需一個DLL且無需依賴其他元件。
PM > Install-Package IronWebScraper 下載DLL
VB C# ASP.NET
查看Ahmed如何在其專案中使用IronWebScraper將內容從一個網站遷移到另一個網站。提供用於抓取電子商務和部落格網站的範例專案和程式碼。
查看 Ahmed 的 WebScraping 教程
Iron團隊在.NET軟體元件市場擁有超過10年的經驗。