راکت

مشکل در دریافت محتوا از سمت url در PHP

2 پاسخ

سلام من سعی کردم تقریبا یه چیز شبیه api با کمک chatgpt بنویسم (چون PHP بلد نیستم و در حدی که کارمو راه بندازه) که مسابقات ورزشی امروز رو از سایت آنتن لینک صفحه هاشون رو دریافت و توی فرمت json قرار میده.
ولی یه اروری از این کد دریافت میشه که دقیقا نمیدونم چیه ولی قسمت جالب قضیه اینجاست که پشت سر هم رفرش میکنم صفحه رو بالاخره یک بار نشون میده محتوا رو.
ارور:

Fatal error: Uncaught Error: Call to a member function find() on null in /home/isupir/public_html/liveen-api.disup.ir/sport-api.php:57 Stack trace: #0 {main} thrown in /home/isupir/public_html/liveen-api.disup.ir/sport-api.php on line 57

لاین 57:

$linkTags = $targetDiv->find('a');

کل کد:

<?php

require 'simple_html_dom.php';

$url = 'https://www.anten.ir/';

$html = file_get_html($url);

$targetDiv = $html->find('div.MuiBox-root.muirtl-1v3caum', 0);

$linkTags = $targetDiv->find('a');

$hrefArray = array();

foreach ($linkTags as $linkTag) {
    $hrefArray[] = $linkTag->href;
}

$jsonData = json_encode(array('hrefs' => $hrefArray));

header('Content-Type: application/json');

echo $jsonData;

$html->clear();
unset($html);

?>

لینک کتابخانه simplehtmldom.php :
https://sourceforge.net/projects/simplehtmldom/

ممنون میشم کمک کنید یا اگر براتون مقدوره کد رو اصلاح کنین و قرار بدین ❤️

ثبت پرسش جدید

پاسخ‌ها

2
میلاد قربانی
میلاد قربانی
@miladghorbani006

تخصص: php laravel

سلام وقتتون بخیر
احتمالا timeout میده و نمیتونه کل دیتا بخونه
میتونید از روش های زیر استفاده کنید
۱. استفاده از curl

  1. استفاده از پکیج زیر که برای اینکار هست:
    داکیومنت
    گیتهاب
عرفان هنرمند
عرفان هنرمند
@PhUneR

سلام ، ممنونم از راهنماییتون.
فکر میکنم با cURL هم همین مشکل باشه اگر براتون مقدوره میتونین کدشو بنویسین یه تست کنم ببینم هنوزم ارور پابرجاست یا خیر؟
@miladghorbani006

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام