在生產環境中測試而不帶水印。
適用於您所需的任何地方。
獲得 30 天完整功能產品。
幾分鐘內即可運行。
在您的產品試用期間全面訪問我們的支持技術團隊
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
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 ClassInstall-Package IronWebScraper
IronWebScraper 提供了一個強大的框架,可以使用 C# 程式碼從網站中提取資料和檔案。
WebScraper類別。Init方法,使用Request方法解析至少一個 URL。Parse方法來處理請求,並Request更多頁面。 使用response.Css可以透過 jQuery 風格的 CSS 選擇器來操作 HTML 元素。Start();方法。
無論是產品、整合或 License 方面的疑問,Iron 產品開發團隊都能隨時支援您的所有問題。請與 Iron 聯絡並展開對話,讓我們的函式庫在您的專案中發揮最大效用。
提出問題只需編寫一個 C# web-scraper class,即可將數以千計甚至數以百萬計的網頁搜刮成 C# Class Instances、JSON 或 Downloaded Files。IronWebScraper 可讓您編寫簡潔、線性的工作流程,模擬人類的瀏覽行為。IronWebScraper 會以虛擬網頁瀏覽器群的方式來執行您的程式碼,大量並行,但又不失禮貌和容錯性。
開始使用文件
IronWebScraper 必須經過編程,知道如何處理遇到的每一種「類型」的頁面。這可以使用 CSS 選擇器或 XPath 表達式以非常簡潔的方式實現,並且可以完全用 C# 自訂。這種自由度可讓您決定在網站上搜刮哪些頁面,以及如何處理擷取的資料。每種方法都可以在 Visual Studio 中整齊地調試和觀看。
跟隨教學IronWebScraper 可處理多執行緒與網路請求,允許數百個並發線程而無需開發人員管理。可設定「禮貌」以節省請求,從而降低目標網頁伺服器負載過重的風險。
使用 WebScraper 開發和運作
IronWebScraper 可以使用一個或多個「身份」 - 模擬真實世界中人類請求的會話。每個請求都可以程式化或隨機指定自己的身份、使用者代理、Cookies、登入,甚至 IP 位址。請求可結合 URL、解析方法和後置變數設定為自動唯一。
See API ReferenceIronWebScraper 使用先進的快取功能,讓開發人員可以「隨時」修改程式碼,並在不聯絡網際網路的情況下重播之前的每個請求。每個 scrape 工作都會自動儲存,並可在發生異常或停電時恢復。
WebScraper 設定說明IronWebScraper 透過 Visual Studio 安裝程式將 Web Scraping 工具快速掌握在您自己手中。 無論是直接從 visual studio 內的 NuGet 安裝,或是下載 DLL,您都可以在短時間內完成設定。 只有一個 DLL,沒有任何相依性。
PM > 安裝-套件 IronWebScraper 下載 DLL





VB C# ASP.NET
看看 Ahmed 如何在他的專案中使用 IronWebScraper 將內容從一個網站遷移至另一個網站。所提供的範例專案和程式碼用於搜刮電子商務和部落格網站
查看 Ahmed 的 WebScraping 教程 


Iron 的團隊在 .NET 軟體元件市場擁有超過 10 年的經驗。







