Как получить все цены на товары с сайта с завитком
Я пытаюсь использовать cURL, чтобы получить все цены на товары с этого сайта, но я действительно не знаю, как очистить все цены на каждый товар на этом сайте http://www.bikestore.ie/.
Может кто-нибудь, пожалуйста, дайте мне советы Сом?
Прямо сейчас я просто тестирую, чтобы получить одну цену за продукт, и это не проблема, но могу ли я получить точную информацию для всех продуктов?
мой код прямо сейчас:
public function Scrape(){
$curl = curl_init('http://www.bikestore.ie/scott-speedster-30-bike-2015.html');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$page = curl_exec($curl);
if(!empty($curl)){
$doc = new DOMDocument;
$doc->loadHTML($page);
$xpath = new DOMXPath($doc);
$rupees = $xpath->evaluate('string(//div[@class="product-shop"]//div[@class="price-box"]//span[@class="price"])');
echo $rupees;
}
else {
print "Not found";
}
1 ответ
Это не простая задача. Сайт структурирован. Но каждый продукт определяется в URL. Например: http://www.bikestore.ie/scott-speedster-30-bike-2015.html при добавлении его в корзину отображается уникальный идентификатор продукта:
меры
- Просканируйте весь сайт с помощью cURl (найдите все ссылки
<a>
продуктов). Смотрите пост о простом гусеничном питоне, вы просто делаете подобное с php. - Храните их в БД (например, MySQL)
- Для каждой ссылки вы запускаете свой
Scrape()
процедура извлечения цены / идентификатор продукта. Получая цену товара, вы помечаете его ссылку как "проверенную" в БД, чтобы не запускать ее снова.
Примечания: Для параллельной обработки вы можете запускать процессы из точек 1 и 2 и точки 3 параллельно. Используйте для этого cron.