تالار گفتمان nCIS.ir

نسخه‌ی کامل: استفاده از دستور file_get_contents
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
من با دستور
file_get_contents($url);
اطلاعات یک صفحه وب رو به صورت یک رشته ذخیره می کنم ولی روی برخی از آدرس ها کار نمی کند.
مثلا آدرس زیر رو امتحان کنید:

http://new.tse.ir/instrument/%D8%BA%...1SBEH0001.html

آیا روش خاصی وجود دارد یا دستور دیگری؟

ممنون
خود این سایتها بعد از بارگذاری، با AJAX یا سایر روشها دارن محتوا رو تولید میکنن. باید توسط ابزارهایی مثل FireBug در سربرگ Net ببینید توی کدشون از چه منبعی محتوای اصلی بارگذاری میشه و شما هم همون رو بخونین. اغلبشون هم خروجی رو بصورت JSON یا آرایه‌ی ساده میگیرن و بعد تحلیل میکنن و توی صفحه میچینن. باید فرمول و محل قرارگرفتن هر آیتم توی خروجی رو هم طبق محتوای صفحه بدست بیارین.
ممنون
بله در فایرفاکس دیدم و عکس را هم پیوست کرده ام.
منتها من تا الان به این شکل اطلاعات را از صفحه ای نگرفته ام.
می توانید کمک کنید یا نمونه کد بدهید؟

ممنون

[attachment=523]
شما باید همون صفحه‌ای که در قسمت File اعلام شده، با file_get_contents بخونین و محتواش رو با json_decode تبدیل به شئ کنید و پردازش کنین.
ممنون درست شد و اطلاعت به شکل زیر دریافت شد
الان برای اینکه این ها استفاده کنم باید چه کنم به نظر می رسه قبل از استفاده از آنها به صورت آرایه باید یک کار دیگری هم انجام داد:

stdClass Object
(
   [ci] => IRO1SBEH0004
   [inP] => IRX6X42T0006
   [cat] => 1
   [a_tag] => 3313274223
   [header] => Array
       (
           [0] => stdClass Object
               (
                   [name] => صنعتي‌ بهشهر
                   [namad] => غبشهر1
                   [state] => مجاز
               )

           [1] => stdClass Object
               (
                   [am] => 2,438
                   [dar] => -41 (-1.65%)
                   [time] => 16 فروردین 1396-12:29
               )

       )

   [mainData] => stdClass Object
       (
           [ghp] => stdClass Object
               (
                   [v] => 2,440
                   [p] => (-1.57%) -39
               )

           [dm] => 134
           [bt] => stdClass Object
               (
                   [u] => 2,452
                   [d] => 2,418
               )

           [hmo] => 959,028
           [agh] => 2,452
           [arm] => 2.3 B
           [rgh] => 2,479
           [tds] => -3
           [eps] => Array
               (
                   [0] => 582
                   [1] => 1396/09/30
                   [2] => 1395/09/20
               )

           [hma] => 1,200,000
           [pe] => 4.19
           [ts] => 3 B
           [bm] => stdClass Object
               (
                   [u] => 2,602
                   [d] => 2,356
               )

           [arb] => 7,320.0 B
           [f2] => stdClass Object
               (
                   [u] => -
                   [d] => -
               )

           [nav] => 0
           [classes] => stdClass Object
               (
               )

           [kh] => Array
               (
                   [0] => stdClass Object
                       (
                           [vol] => 587,019
                           [per] => 61.2%
                           [am] => 61
                       )

                   [1] => stdClass Object
                       (
                           [vol] => 372,009
                           [per] => 38.8%
                           [am] => 6
                       )

                   [2] => stdClass Object
                       (
                           [vol] => 
                           [per] => 
                           [am] => 67
                       )

               )

           [f] => Array
               (
                   [0] => stdClass Object
                       (
                           [vol] => 949,768
                           [per] => 99.0%
                           [am] => 37
                       )

                   [1] => stdClass Object
                       (
                           [vol] => 9,260
                           [per] => 1.0%
                           [am] => 1
                       )

                   [2] => stdClass Object
                       (
                           [vol] => 
                           [per] => 
                           [am] => 38
                       )

               )

           [kh_p] => 64
           [f_p] => 36
       )

   [lTables] => stdClass Object
       (
           [kh] => Array
               (
                   [0] => stdClass Object
                       (
                           [val] => Array
                               (
                                   [0] => 2,430
                                   [1] => 1
                                   [2] => 3,000
                               )

                       )

                   [1] => stdClass Object
                       (
                           [val] => Array
                               (
                                   [0] => 2,421
                                   [1] => 1
                                   [2] => 15,200
                               )

                       )

                   [2] => stdClass Object
                       (
                           [val] => Array
                               (
                                   [0] => 2,420
                                   [1] => 3
                                   [2] => 21,009
                               )

                       )

               )

           [f] => Array
               (
                   [0] => stdClass Object
                       (
                           [val] => Array
                               (
                                   [0] => 2,438
                                   [1] => 1
                                   [2] => 630
                               )

                       )

                   [1] => stdClass Object
                       (
                           [val] => Array
                               (
                                   [0] => 2,445
                                   [1] => 1
                                   [2] => 23,000
                               )

                       )

                   [2] => stdClass Object
                       (
                           [val] => Array
                               (
                                   [0] => 2,450
                                   [1] => 2
                                   [2] => 10,696
                               )

                       )

               )

       )

   [co] => Array
       (
           [0] => stdClass Object
               (
                   [n] => مارگارين‌
                   [s] => غمارگ1
                   [l] => IRO1MRGN0001
                   [v] => Array
                       (
                           [0] => 12:27 - 1396/1/16
                           [1] => 30
                           [2] => 89,069
                           [3] => 545.6 M
                           [4] => 6,184
                           [5] => 6,100
                           [6] => -94
                           [7] => -1.50
                           [8] => 2,226.2 B
                           [9] => -
                       )

               )

       )

)
این الان یه شئ هست از نوع StdClass و میتونین به این شکل باهاش کار کنین:
$data = json_decode($json);
echo $data->header[0]->name;

البته با کمک foreach و... هم قابل پیمایش هست.