Lâu lắm rồi ko có j` nổi bật trong công việc để viết bài
Hôm nay, bài toán tôi cần giải quyết là lấy dữ liệu từ các sàn giao dịch Chứng Khoán.
Mọi vẫn đề đều được giải quyết, đến khi tôi gặp site này : http://www.hsx.vn/hsx/HOSE_Livesecurity.htm
Ở đây, dữ liệu được load ra bằng ajax, như vậy nếu dùng file_get_contents() thì sẽ ko thể lấy được gì.
Sau 1 hồi mò mẫm thì ra cái service này, http://www.hsx.vn/LS_VSE/HoSTC_Service.asmx
Các function để site load dữ liệu ra đều ở đây cả.
=> vấn đề bây giờ là phải tạo 1 Soap Client để làm việc với service, và tôi chọn Nusoap.
- Download lib tại đây : http://sourceforge.net/projects/nusoap/
- Download file này : http://www.hsx.vn/LS_VSE/GetDataProxy.aspx?service=HoSTC_Service.asmx
Ở trong file GetDataProxy.aspx có các function cần dùng, gồm các param, title ….
Cái tôi quan tâm là function GetLiveSecurity() và param f_time.
Trong code php, ta làm như sau:
require_once('lib/nusoap.php');
$client = new nusoap_client('http://www.hsx.vn/LS_VSE/HoSTC_Service.asmx?WSDL', true);
$result = $client->call('GetLiveSecurity',array('f_time'=>'true'));
var_dump($result);
?>
vậy là tôi đã có đầy đủ dữ liệu được site load ra, bây giờ việc còn lại là chặt chém cái $result ra, muốn lấy j` thì lấy \:d/
Bài toán của tôi chỉ cần có vậy, nếu của bạn phức tạp hơn, cần nhiều hơn thì tham khảo thêm nhé.
Link tham khảo: http://www.slideshare.net/fulvio.corno/web-services-in-php-using-the-nusoap-library
(i-php.net)