عرفان هنرمند
9 ماه پیش توسط عرفان هنرمند مطرح شد
2 پاسخ

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

سلام من سعی کردم تقریبا یه چیز شبیه 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/

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


ثبت پرسش جدید
میلاد قربانی
تخصص : php laravel
@miladghorbani006 9 ماه پیش مطرح شد
0

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

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

عرفان هنرمند
@PhUneR 9 ماه پیش مطرح شد
0

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


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

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