PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : خطا در کرول محصولات یک فروشگاه



j.s
September 10th, 2020, 17:59
با سلام،

بنده نیاز دارم محصولات یک فروشگاه رو کرول کنیم و کد زیر رو برای این کار دارم:
این کد کار می کنه اما تمامی محصولات چندین بار تکرار میشن و به صورت یکتا نمایش داده نمیشن.
ایراد این کد کجاست و برای رفع چه کار باید بکنم؟


function scraping_slashdot() {
$page = file_get_contents('https://');
$doc = new DOMDocument();
$doc->loadHTML($page);
$divs = $doc->getElementsByTagName('div');
$imgs = $doc->getElementsByTagName('img');
$dels = $doc->getElementsByTagName('del');
foreach($imgs as $img) {
if ($img->getAttribute('class') === 'swiper-lazy') {
$item['image'] = $img->getAttribute('src');
}
$ret[] = $item;
}
foreach($divs as $div) {
if ($div->getAttribute('class') === 'c-title') {
$item['title'] = utf8_decode($div->nodeValue);
}
if ($div->getAttribute('class') === 'c-price') {
$item['discount'] = utf8_decode($div->nodeValue);
}
if ($div->getAttribute('class') === 'c-value') {
$item['price'] = utf8_decode($div->nodeValue);
}
$ret[] = $item;
}
foreach($dels as $del) {
$item['value'] = utf8_decode($del->nodeValue);
$ret[] = $item;
}
return $ret;
}

$ret = scraping_slashdot();

foreach($ret as $v) {

echo $v['image'].'<br>';
echo $v['title'].'<br>';
echo $v['discount'].'<br>';
echo $v['price'].'<br>';
echo $v['value'].'<br>';
}

1wp.ir
September 10th, 2020, 19:17
حتما از سایتی که دارید کراول می کنید برای محصولات آی دی تعریف شده، باید اون آی دی رو توی دیتابیس ذخیره کنید و یه قسمتی رو اضافه کنید که آی دی محصول رو با آی دی موجود در دیتابس شما چک کنه اگر موجود نبود اطلاعاتش رو اضافه کنه

j.s
September 11th, 2020, 12:12
حتما از سایتی که دارید کراول می کنید برای محصولات آی دی تعریف شده، باید اون آی دی رو توی دیتابیس ذخیره کنید و یه قسمتی رو اضافه کنید که آی دی محصول رو با آی دی موجود در دیتابس شما چک کنه اگر موجود نبود اطلاعاتش رو اضافه کنه

محصولات موجود در سایت اصلی مدام در حال تغییر هست. و کم و زیاد میشه
ضمن اینکه مشکلی که دارم این هست که محصولات موجود در سایت اصلی تکراری نیست و درست هست، اما کد من تو خروجی تکراری میده.