Skip to footer content
IronWebscraper Logo for .NET

Start Your IronWebscraper
Free Trial Instantly

  • Scrape using CSS selectors, XPath & JavaScript rendering
  • Multithreading with hundreds of simultaneous requests
  • Support throttling, proxies, user agents, & robots.txt
  • Free 30-day trial, full features, no credit card
Trial key

Get your free 30-day Trial Key instantly.

Your trial license will be sent to this address

Check icon No credit card or account creation required

Test Icon

Test in a live environment

Test in production without watermarks.
Works wherever you need it to.

Functional Icon

Fully-functional product

Get 30 days of fully functional product.
Have it up and running in minutes.

Support Icon

24/5 technical support

Full access to our support engineering team during your product trial

C# Web Scraper
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

Explore the code and run it to see the sample.

World-Class Engineering,
24-Hour Support
  • Support Team Member 2 related to Start Your IronWebscraper 
Free Trial Instantly
  • Support Team Member 4 related to Start Your IronWebscraper 
Free Trial Instantly
  • Support Team Member 6 related to Start Your IronWebscraper 
Free Trial Instantly
  • Support Team Member 7 related to Start Your IronWebscraper 
Free Trial Instantly
  • Support Team Member Iron related to Start Your IronWebscraper 
Free Trial Instantly
Talk to an Expert

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me