ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
向けに設計された C#、F#、およびVB.NET で稼働 .NET 8、7、6、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
<p>IronWebScraper は、C# (シーシャープ)コードを使用してウェブサイトからデータやファイルを抽出するための強力なフレームワークを提供します。</p> <ol> <li> <p>を使用して IronWebScraper をプロジェクトにインストールします。<a href="https://www.nuget.org/packages/IronWebScraper/" target="_blank" rel="nofollow noopener noreferrer">NuGet</a></p> </li> <li> <p>WebScraper` を継承したクラスを作成する</p> </li> <li> <p>少なくとも一つの URL を解析するために <code>Request</code> メソッドを使用する <code>Init</code> メソッドを作成する。</p> </li> <li> <p>リクエストを処理するために <code>Parse</code> メソッドを作成し、さらにページを <code>Request</code> する。 response.Cssを使用して、jQueryスタイルのCSSセレクタを使用してHTML要素を操作する</p> </li> <li> <p>アプリケーションでウェブスクレイピングクラスのインスタンスを作成し、`Start()メソッド</p> </li> <li>私たちの記事を読む<a href="/csharp/webscraper/tutorials/webscraping-in-c-sharp/" target="_blank" rel="nofollow noopener noreferrer">C#(シーシャープ)チュートリアル</a>IronWebscraperを使って高度なウェブクローラーを作成する方法を学ぶ。</li> </ol>
製品、統合、ライセンスに関するご質問がある場合、Iron製品開発チームがお客様のご質問に対応いたします。Ironと連絡を取り、プロジェクトでライブラリを最大限に活用するための対話を始めましょう。
質問する1つのC#ウェブスクレイパークラスで、数千または数百万のウェブページをC#クラスインスタンス、JSON、またはダウンロードされたファイルにスクレイピングします。IronWebscraperを使用すると、人間のブラウジング行動をシミュレートする簡潔で直線的なワークフローをコード化することができます。IronWebscraperは、仮想ウェブブラウザ群としてコードを実行し、大量に並列処理しながらも、丁寧で故障耐性があります。
ドキュメントの使用を開始するIronWebScraperは、遭遇した各「タイプ」のページを処理する方法をプログラムする必要があります。これは、CSSセレクタまたはXPath式を使用して非常に簡潔に達成され、C#で完全にカスタマイズ可能です。この自由度により、Webサイト内でスクレイピングするページを選択し、抽出したデータの処理方法を決定することができます。各メソッドはVisual Studioで整然とデバッグおよび監視することができます。
チュートリアルに従うIronWebScraperは、開発者がスレッドを管理する必要なく、数百の同時スレッドを可能にするためにマルチスレッドとウェブリクエストを処理します。ターゲットのウェブサーバーへの過剰な負荷のリスクを減らすために、リクエストのレートを制限する礼儀正しさが設定できます。
WebScraper 入門IronWebScraperは、複数の「アイデンティティ」―実世界の人間のリクエストをシミュレートするセッション―を使用することができます。それぞれのリクエストは、プログラム上またはランダムに独自のアイデンティティ、ユーザーエージェント、クッキー、ログインおよびIPアドレスまで割り当てることができます。リクエストは、URL、解析メソッド、ポスト変数の組み合わせで自動的にユニークに設定されます。
See API ReferenceIronWebScraperは、インターネットに接続せずに、コードを「オンザフライ」で変更し、前回のすべてのリクエストを再実行できる高度なキャッシングを使用しています。すべてのスクレイプジョブは自動的に保存され、例外や停電が発生した場合でも再開できます。
WebScraperセットアップ手順IronWebScraper は Visual Studio インストーラーで Web スクレイピングツールを迅速に提供します。Visual Studio 内の NuGet から直接インストールする場合でも、DLL をダウンロードする場合でも、すぐに設定が完了します。必要なのはたった1つの DLL で、他に依存関係はありません。
PM > Install-Package IronWebScraper DLLをダウンロードVB C# ASP.NET
Ahmedが自身のプロジェクトでIronWebScraperを使用して、あるサイトから別のサイトへコンテンツを移行する方法をご覧ください。eコマースおよびブログサイトのスクレイピング用のサンプルプロジェクトとコードも提供されています。
アーメドのWebScrapingチュートリアルを見るIronのチームは、.NETソフトウェアコンポーネント市場で10年以上の経験を有しています。
9つの .NET API製品 オフィス文書用