Przetestuj w produkcji bez znaków wodnych.
Działa tam, gdzie tego potrzebujesz.
Uzyskaj 30 dni pełni funkcjonalnego produktu.
Uruchom w ciągu kilku minut.
Pełny dostęp do naszego zespołu wsparcia technicznego podczas okresu próbnego
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
Zaprojektowany dla C#, F#, & VB.NET działających na .NET 10, 9, 8, 7, 6, 5, Core, Standard lub 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 zapewnia potężny framework do pobierania danych i plików ze stron internetowych za pomocą kodu C#.
WebScraper.Init, która używa metody Request do parsowania co najmniej jednego URL.Parse do przetwarzania żądań, a nawet więcej stron Request. Użyj response.Css do pracy z elementami HTML, wykorzystując style jQuery CSS selectors.Start();.
Czy to pytania dotyczące produktu, integracji czy licencjonowania, zespół deweloperski produktów Iron jest dostępny, aby wspierać wszystkie Twoje pytania. Skontaktuj się i nawiąż dialog z Iron, aby w pełni wykorzystać naszą bibliotekę w swoim projekcie.
Zadaj pytanieWystarczy napisać jedną klasę C# web scrapera, aby przekonwertować tysiące lub nawet miliony stron internetowych na Instancje Klasy C#, JSON lub Pliki do Pobrania. IronWebScraper pozwala programować zwięzłe, liniowe przepływy pracy symulujące ludzkie zachowanie przeglądania. IronWebScraper uruchomi Twój kod jako rój wirtualnych przeglądarek sieciowych, masywnie zrównoleglonych, ale grzecznych i odpornych na błędy.
Rozpocznij z dokumentacją
IronWebScraper musi być zaprogramowany do obsługi każdego „typu” strony, na którą natrafi. Osiąga się to w bardzo zwięzły sposób przy użyciu selektorów CSS lub wyrażeń XPath i można je w pełni dostosować w C#. Ta swoboda pozwala zdecydować, które strony scrapować w obrębie witryny i co zrobić z wyekstrahowanymi danymi. Każdą metodę można debugować i oglądać dokładnie w Visual Studio.
Skorzystaj z poradnikaIronWebScraper radzi sobie z wielowątkowością i żądaniami internetowymi, umożliwiając setki jednoczesnych wątków bez potrzeby zarządzania nimi przez dewelopera. Grzeczność można ustawić, aby ograniczyć żądania, zmniejszając ryzyko nadmiernego obciążenia docelowych serwerów internetowych.
Działa już z WebScraper
IronWebScraper może używać jednej lub wielu „tożsamości” - sesji symulujących rzeczywiste żądania użytkowników. Każde żądanie może programowo lub losowo przydzielać swoją tożsamość, agenta użytkownika, ciasteczka, loginy, a nawet adresy IP. Żądania są ustawione jako automatycznie unikalne przy użyciu kombinacji URL, metody parsowania i zmiennych POST.
See API ReferenceIronWebScraper wykorzystuje zaawansowane buforowanie, aby umożliwić deweloperom zmianę kodu „na żywo” i ponowne odtworzenie każdego poprzedniego żądania bez kontaktu z internetem. Każdy zadanie scrapingu jest automatycznie zapisywane i można je wznowić w przypadku wyłączenia lub awarii zasilania.
Instrukcje konfiguracji WebScraperIronWebScraper zapewnia szybki dostęp do narzędzi do web scrapingu za pomocą instalatora Visual Studio. Czy instalując bezpośrednio z NuGet w Visual Studio, czy pobierając DLL, skonfigurujesz się w mgnieniu oka. Tylko jeden DLL i brak zależności.
PM > Install-Package IronWebScraper Pobierz plik DLL
VB C# ASP.NET
Zobacz, jak Ahmed wykorzystuje IronWebScraper w swoich projektach do migracji treści z jednej witryny na inną. Dostępne Szablony Projektów i Kod do scrapowania stron e-commerce i blogów
Zobacz poradnik WebScrapingu Ahmeda
Zespół Iron ma ponad 10-letnie doświadczenie na rynku komponentów software'owych .NET.