在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
设计用于 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>创建一个扩展 <code>WebScraper</code> 的类</p> </li> <li> <p>创建一个<code>Init</code>方法,使用<code>Request</code>方法来解析至少一个URL。</p> </li> <li> <p>创建一个 <code>Parse</code> 方法来处理请求,并确实 <code>Request</code> 更多页面。 使用 response.Css 和 jQuery 风格的 CSS 选择器来操作 HTML 元素。</p> </li> <li> <p>在您的应用程序中,请创建并实例化您的网页抓取类,并调用 <code>Start</code>();`方法</p> </li> <li>阅读我们的<a href="/csharp/webscraper/tutorials/webscraping-in-c-sharp/" target="_blank" rel="nofollow noopener noreferrer">C# 网络抓取教程</a>了解如何使用 IronWebScraper 创建高级网络爬虫</li> </ol>
只需编写一个 C# 网络抓取类,即可将数千甚至数百万个网页抓取到 C# 类实例、JSON或下载文件中。IronWebScraper 允许您编写简洁的线性工作流,模拟人类的浏览行为。IronWebScraper 将以一群虚拟网络浏览器的形式运行您的代码,具有大规模并行处理功能,同时保持礼貌和容错能力。
开始使用文档IronWebScraper 必须被编程以知道如何处理它遇到的每种“类型”的页面。这可以通过使用 CSS 选择器或 XPath 表达式以非常简洁的方式实现,并且可以在 C# 中完全自定义。这种自由允许您决定在网站内抓取哪些页面以及对提取的数据进行处理。每种方法都可以在 Visual Studio 中进行调试和观察。
遵循教程IronWebScraper 处理多线程和网络请求,允许数百个并发线程而无需开发者管理它们。可以设置礼貌策略来限制请求,从而降低目标网络服务器过载的风险。
运行和使用IronWebscraperIronWebScraper 可以使用一个或多个“身份”——模拟现实世界人类请求的会话。每个请求可以以编程方式或随机地分配其自己的身份、用户代理、Cookies、登录信息,甚至 IP 地址。请求通过 URL、解析方法和 post 变量的组合被设置为自动唯一。
See API ReferenceIronWebScraper 使用高级缓存,使开发人员能够“实时”更改其代码,并在不联系互联网的情况下重放每个以前的请求。每个爬取任务都会自动保存,并且在出现异常或断电时可以恢复。
网页抓取工具设置说明IronWebScraper通过Visual Studio安装程序快速将网络爬虫工具掌握在您的手中。无论是通过Visual Studio中的NuGet直接安装还是下载DLL,您将很快完成设置。 只需一个DLL且无任何依赖项。
PM > Install-Package IronWebScraper 下载DLLVB C# ASP.NET
看看艾哈迈德如何在他的项目中使用IronWebScraper将内容从一个网站迁移到另一个网站。提供了用于抓取电子商务和博客网站的示例项目和代码。
查看 Ahmed 的 WebScraping 教程Iron的团队在.NET软件组件市场拥有超过10年的经验。
9个 .NET API 产品 用于您的办公文件