Welcome to Decodo Blog!

Build knowledge on our solutions and streamline your workflows with step-by-step guides and expert tips.

Diamond in a squircle

Watir Ruby: How To Automate Browsers and Scrape Web Data Step by Step

Watir is an open-source Ruby library for automating web browsers through code. Built on top of Selenium WebDriver, it wraps browser communication in a clean, Ruby-idiomatic API so you can focus on clicking buttons, filling forms, navigating pages, and extracting data without managing the underlying complexity. It's particularly useful for scraping JavaScript-heavy sites, automating form submissions, and collecting content that only appears after user interaction. This guide walks you through the full process, from setup to a working Watir scraper with proxy support.

Circle inside a house, that is inside a squircle

How Residential Proxies Work: A Technical Guide to Types, Networks & IP Sourcing

A residential proxy network routes your traffic through real ISP-assigned home IPs. But how routing actually happens, which proxy types you end up using, and how IPs are sourced have a much bigger impact on success rates. This guide breaks down how residential proxy networks work, including ASN-level routing, the different types of IPs, and the protocols they support.

Groovy Web Scraping

Groovy Web Scraping: HTTP Requests, DOM Parsing, and Headless Browsers

Thanks to blending Java’s massive ecosystem with a scripting-friendly syntax, Groovy works as a practical alternative for web scraping on the JVM. This guide shows you how to scrape websites with the HTTP Jodd client, parse HTML documents, manage sessions, utilize Jodd Lagarto and Jerry, and use Selenium to automate browsers. You'll also learn how to configure proxies for real-world, block-resistant scraping.

Claude Fable 5

How to Use Claude Fable 5 for Web Scraping

Web scraping with Claude Fable 5 turns slow data collection into a fast, mostly hands-off job. Fable 5 is Anthropic's most capable model (yet), and it can write scrapers, run them, repair its own errors, and return clean, structured data. This article walks through setup, real use cases, prompt patterns, costs, and the limits worth knowing.

No-Code Web Scraping With n8n

No-Code Web Scraping With n8n: Build Automated Data Workflows Without Writing Code

No-code web scraping with n8n lets you build automated scrapers on a visual canvas – no Python, no server, no terminal. You need prices tracked weekly or listings monitored daily, but can't code a scraper or run one. This guide shows you how to use only drag-and-drop nodes that run on schedule in the cloud.

Golang Colly

Golang Colly: How To Build a Web Scraper in Go

Golang Colly is a fast, callback-driven scraping framework for the Go programming language. It wraps HTTP requests, HTML parsing, rate limiting, and concurrency in a clean API, so you can pull structured data from a website with very little code. This tutorial walks you through building a working Colly scraper from an empty project all the way to proxy rotation.

Document labeled 'Notice' showing lines and seal, linked to colorful stream and shield over progress bar on dark background

Vibe Scraping or Vibe Coding for Data Collection

Vibe scraping is the practice of building scrapers by describing goals in natural language to an LLM rather than hand-writing selectors, a concept derived from Andrej Karpathy's 'vibe coding.' This allows developers to turn prompts into working extractors as LLMs now efficiently parse DOMs, infer schemas, and write code. While it enables rapid prototyping, it introduces new failure modes like hallucinated selectors; scaling these scripts for production still requires real proxies and rendering infrastructure.

Decodo UI panels displaying 'Software', 'Bot', and 'Script' cards with code snippet and Decodo logo on dark dotted background

Puppeteer Download File: A Complete Guide for Node.js Developers

Puppeteer makes browser automation feel easy until you need to save a file to disk. Triggering a download in headless mode isn't the same as clicking a button in a real browser, and the default behavior in headless Chrome won't help you. This guide covers the full Puppeteer download file workflow: configuring CDP correctly, picking the right method for your scenario, detecting when a file truly finished, and scaling to batch jobs without leaking memory or corrupting your queue.

Price Scraping

Price Scraping: How To Build a Scraper, Test It, and Scale With Confidence

Price data is important for monitoring competitors in eCommerce, enforcing MAP policies, and receiving deal alerts. Doing this manually isn't effective for scaling. A practical approach is price scraping, which helps automatically collect product pricing data from eCommerce websites. This guide will show you how to build a Python scraper using Playwright. It will help you gather real prices, deal with anti-bot measures, and create structured JSON data.

Lock labeled 'Node Unblocker' unblocking flow from browser icon to file icon on dark background with Node.js

Node Unblocker: A Comprehensive Guide

Node Unblocker is an open-source web proxy built on Node.js that allows users to bypass internet censorship, evade network filters, and access restricted content. Whether you are dealing with strict corporate firewalls, educational network restrictions, or geo-blocked websites, Node Unblocker acts as a seamless intermediary to securely route your web traffic.

C++ hero image

C++ Web Scraping: A Practical Guide for Performance-Critical Projects

C++ web scraping is the process of sending HTTP requests from a C++ program, retrieving HTML or other structured responses, and parsing the data using libraries such as libcurl, CPR, libxml2, or pugixml. It's most useful in scraping workloads where CPU efficiency, memory control, predictable latency, or direct integration with an existing C++ system matter more than quick setup. That makes it a practical option for performance-critical pipelines, but a heavier one to build and maintain. The real question isn't whether C++ can scrape the web. It's whether that extra control is worth the extra engineering work.

How To Set Up PewDiePie's Odysseus AI Workspace

Odysseus is a free, open-source, self-hosted AI workspace from Felix Kjellberg, aka PewDiePie. Yes, the guy who spent a decade telling 100 million people to smash subscribe now wants you to smash docker compose up. It bundles chat, autonomous agents, deep research, and email into one interface that runs on your hardware, not someone else's cloud. It launched in late May 2026 and hit 30,000+ GitHub stars in just 3 days, signaling real demand for AI you own, not rent. Here's what it does, how to use it, and where proxies fit in.

Notice document with lines, colorful bars and shield, progress controls Pause, Clear all, Copy valid list on dark background

Puppeteer Form Submit: A Practical Guide to Reliable Form Automation

Submitting forms with Puppeteer goes beyond just clicking a button on the browser or typing text into an input box. Puppeteer is a Node.js library that can control a headless or headful Chromium (browser) instance through the DevTools Protocol. That means you can use Puppeteer to automatically locate form fields, fill input boxes with necessary values, trigger the action of submitting a form, and confirm whether that form submission actually worked. If you’re into web scraping, or you’re testing your own product, or even automating anything in a browser with JavaScript, you’ll inevitably run into form fields and submit buttons that you will need to get passed programmatically with Puppeteer.

MechanicalSoup Python

MechanicalSoup Python: A Complete Guide to Scraping, Forms, and Proxies

When you need to scrape 50 pages of search results behind a login wall, raw Requests + Beautiful Soup force you to track cookies and assemble form payloads by hand, while Selenium launches a full browser for pages that don't even use JavaScript. MechanicalSoup sits between those extremes. It wraps Requests and Beautiful Soup into a stateful browser that handles web scraping sessions, forms, and navigation automatically. This guide covers everything from installation to proxy-powered production scrapers.

Code editor showing Python 'import requests' POST to scraper-api.decodo.com/v2/scrape on dark wavy background

How To Build a News Crawler in Python: Step-by-Step Guide

A news crawler is a tool that automatically pulls content from news websites. A web news crawler helps with tracking competitors, feeding LLM pipelines, or watching topic coverage across publishers. This guide walks you through building a configurable proxy-integrated Python news crawler that’ll target multiple news sources, handles proxy rotation, and saves structured results on a schedule.

DuckDuckGo logo centered, glowing orange circular badge on a dark blurred gradient background

How To Switch From Google to DuckDuckGo

Want to switch from Google to DuckDuckGo? You've got company. DuckDuckGo says traffic to its No AI search page tripled after Google’s I/O 2026 conference on May 19. Daily visits sit around 84% above their old average. This guide explains the move and shows you how to switch.

Puppeteer Infinite Scroll

Puppeteer Infinite Scroll: A Practical Scraping Guide

If you try to run curl on an infinite scroll page and then search (grep) for the content, the result will show zero matches. The required items aren't available in the initial HTML. The content is loaded using fetch requests that the page sends when a scroll event is triggered. This guide will cover: diagnosing the target, three scroll strategies, verification, speed, anti-detection methods, and a real-world walkthrough.

Python Extract Text From HTML

Python Extract Text From HTML: A Step-by-Step Guide With Code Examples

Extracting text from HTML in Python is one of the most common tasks in web scraping, NLP pipelines, search indexing, and data preparation. The goal is to keep the visible content from a webpage while removing all the HTML markup, scripts, and styles that surround it. This guide walks you through the popular Python libraries for HTML text extraction and a full step-by-step workflow to go from raw HTML to clean, production-ready text.

© 2018-2026 decodo.com (formerly smartproxy.com). All Rights Reserved