Debugging Techniques
ScraperUtils provides several debugging utilities to help you troubleshoot your scrapers.
Enabling Debug Mode
Set the DEBUG
environment variable to enable debugging:
export DEBUG=1 # Basic debugging
export DEBUG=2 # Verbose debugging
export DEBUG=3 # Trace debugging with detailed content
Debug Utilities
The ScraperUtils::DebugUtils
module provides several methods for debugging:
# Debug an HTTP request
ScraperUtils::DebugUtils.debug_request(
"GET",
"https://example.com/planning-apps",
parameters: { year: 2023 },
headers: { "Accept" => "application/json" }
)
# Debug a web page
ScraperUtils::DebugUtils.debug_page(page, "Checking search results page")
# Debug a specific page selector
ScraperUtils::DebugUtils.debug_selector(page, '.results-table', "Looking for development applications")
Debug Level Constants
DISABLED_LEVEL = 0
: Debugging disabledBASIC_LEVEL = 1
: Basic debugging informationVERBOSE_LEVEL = 2
: Verbose debugging informationTRACE_LEVEL = 3
: Detailed tracing information
Helper Methods
debug_level
: Get the current debug leveldebug?(level)
: Check if debugging is enabled at the specified levelbasic?
: Check if basic debugging is enabledverbose?
: Check if verbose debugging is enabledtrace?
: Check if trace debugging is enabled
For full details, see the DebugUtils class documentation.