ウォーターマークなしで本番環境でテスト。
必要な場所で動作します。
完全に機能する製品を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 Class
Install-Package IronWebScraper
IronWebScraperは、C#コードを使用してウェブサイトからデータやファイルを抽出するための強力なフレームワークを提供します。
WebScraper を拡張するクラスを作成します。Request メソッドを使用して少なくとも 1 つの URL を解析する Init メソッドを作成します。response.Css を使用します。Start(); メソッドを呼び出します。
製品、統合、またはライセンスの問い合わせであろうと、Ironの製品開発チームはすべての質問に対応します。Ironと対話を始め、このライブラリをプロジェクトで最大限に活用してください。
質問をする数千、いや数百万のウェブページをC#クラスインスタンス、JSON、またはダウンロードファイルにスクレイプするために、単一のC#ウェブスクレイパークラスを書くことだけです。IronWebScraperを利用すると、人間のブラウジング行動をシミュレートする簡潔かつ直線的なワークフローをコーディングすることができます。IronWebScraperは、仮想ウェブブラウザの群れとしてコードを実行し、非常に並行的でありながら丁寧で故障耐性があります。
ドキュメントで始めましょう
IronWebScraperは、出会う各「タイプ」のページをどのように扱うかを知るためにプログラムされる必要があります。これは、CSSセレクタやXPath式を使用して非常に簡潔に実現され、C#で完全にカスタマイズできます。この自由により、ウェブサイト内でスクレイプするページを決定し、抽出したデータをどのように扱うかを決定できます。各メソッドはVisual Studioで整理されてデバッグおよび監視されることができます。
チュートリアルに従ってくださいIronWebScraperは、マルチスレッドとウェブリクエストを扱い、開発者が管理することなく数百の同時スレッドを可能にします。丁寧さはリクエストのスロットリングに設定でき、ターゲットウェブサーバーへの過剰な負荷のリスクを減らします。
WebScraperのセットアップ
IronWebScraperは、一つ以上の「アイデンティティ」– 実世界の人間のリクエストをシミュレートするセッションを使用できます。各リクエストはプログラム的またはランダムに独自のアイデンティティ、ユーザーエージェント、クッキー、ログインさらにはIPアドレスを割り当てることができます。リクエストはURL、解析メソッド、およびポスト変数の組み合わせで自動ユニークに設定されます。
See API ReferenceIronWebScraperは、高度なキャッシュを使用して、開発者がインターネットと接触することなく「フライ」でコードを変更し、すべての以前のリクエストを再生可能にします。すべてのスクレイプジョブは自動保存され、例外や電源障害が発生した場合も再開できます。
WebScraperセットアップ手順IronWebScraperは、Visual Studioインストーラを使用して迅速にウェブスクレイピングツールを利用できます。Visual Studio内で直接NuGetからインストールするかDllをダウンロードするかにかかわらずすぐに設定が可能です。たった1つのDLLで依存関係はありません。
PM > Install-Package IronWebScraper DLL をダウンロード
VB C# ASP.NET
AhmedがどのようにIronWebScraperを使用して、コンテンツを一つのサイトから別のサイトに移行するかをご覧ください。サンプルプロジェクトとコードが提供されており、eコマースやブログウェブサイトのスクレイピングに役立ちます
AhmedのWebScrapingチュートリアルを見る
Ironのチームは、.NETソフトウェアコンポーネント市場で10年以上の経験があります。