Web Scraping with Cron

You don’t necessarily need to use the WP Cron API for this. Instead you could modify your existing code to make use of WP Transients. Transients are basically Options that expire after a set time. You can wrap your current scrape process in an if statement that checks for the existence of the stored transient. If it exists, it pulls the data from the transient. If it doesn’t, it performs the scrape and stores the data as a transient.

$store_price = get_transient( "store_price_{$post->ID}" );
if ( ! $store_price ) {
  // curl & xpath stuff here
  set_transient( "store_price_{$post->ID}", $store_price, WEEK_IN_SECONDS );
}
// do stuff with $store_price here

Transients API: http://codex.wordpress.org/Transients_API