Skip to content

Canon

flowtask.components.ProductInfo.parsers.canon

CanonParser

CanonParser(*args, **kwargs)

Bases: ParserBase

Parser for Canon product information.

Extracts product details from Canon's USA and Canada websites using Selenium.

create_search_query

create_search_query(term)

Create region-specific search query.

Parameters:

Name Type Description Default
term str

Search term (typically product model)

required

Returns:

Type Description
str

Formatted search query for the appropriate region

determine_region

determine_region(retailer)

Determine region based on retailer information.

Parameters:

Name Type Description Default
retailer Optional[str]

Retailer string that may contain region information

required

Returns:

Type Description
str

'ca' for Canada, 'us' for United States (default)

get_product_urls

get_product_urls(search_results, max_urls=5)

Extract relevant product URLs from search results.

Parameters:

Name Type Description Default
search_results List[Dict[str, str]]

List of search result dictionaries

required
max_urls int

Maximum number of URLs to return

5

Returns:

Type Description
List[str]

List of product URLs that match the Canon product pattern

parse async

parse(url, search_term, retailer=None)

Parse product information from a Canon URL using Selenium.

Parameters:

Name Type Description Default
url str

Canon product URL

required
search_term str

Original search term

required
retailer Optional[str]

Optional retailer information to determine region

None

Returns:

Type Description
Dict[str, Any]

Dictionary with product information