10/10/2018, 11:22

[Hỏi] Lấy dữ liệu từ ajax của một web khác

Hiện tại mình đang có ý định làm một web tin tức. Mình muốn làm một cái bock về giá cả cà phê. về nguồn dữ liệu thì mình lấy từ trang
http://giacaphe.com/gia-ca-phe-noi-dia.html

Mình xem nguồn thì thấy nó sử dụng Jquery xô xuống cái DIV
-----------------------------------------------------------------
<form method="post">
Xem theo ngày:
<select id="ListDate" onchange="LoadGiaNoiDia();" style="width: 100px; padding:2px 4px;">

<option value="2011-04-09">09/04/2011</option><option value="2011-04-08">08/04/2011</option><option value="2011-04-07">07/04/2011</option><option value="2011-04-06">06/04/2011</option><option value="2011-04-05">05/04/2011</option><option value="2011-04-04">04/04/2011</option><option value="2011-04-02">02/04/2011</option><option value="2011-04-01">01/04/2011</option><option value="2011-03-31">31/03/2011</option><option value="2011-03-30">30/03/2011</option><option value="2011-03-29">29/03/2011</option><option value="2011-03-26">26/03/2011</option><option value="2011-03-25">25/03/2011</option><option value="2011-03-24">24/03/2011</option><option value="2011-03-23">23/03/2011</option><option value="2011-03-22">22/03/2011</option><option value="2011-03-21">21/03/2011</option><option value="2011-03-19">19/03/2011</option><option value="2011-03-18">18/03/2011</option><option value="2011-03-17">17/03/2011</option><option value="2011-03-16">16/03/2011</option><option value="2011-03-15">15/03/2011</option> </select>

</form>
</div>
<div id="gianoidiaFull"> </div>
<script type="text/javascript">
function LoadGiaNoiDia() {
var SLDate = jQuery("#ListDate").val();
jQuery.ajax({
type: "POST",
url: 'http://giacaphe.com/wp-content/themes/Y5cafe_v4/apps/gianoidiaHome.php?ngay=' + SLDate + '&type=full',
cache: false,
data: "",
beforeSend: function () {
jQuery('#gianoidiaFull').html('<div class="loading"><img src="http://giacaphe.com/wp-content/themes/Y5cafe_v4/img/icon/fbload.gif" /></div>');
},
success: function (req) {
jQuery('#gianoidiaFull').html(req);
}
});
}
LoadGiaNoiDia();
</script>
------------------------------------------------------------------

Mình nghĩ nếu mình vào trực tiếp trang này :
http://giacaphe.com/wp-content/theme...Home.php?ngay=' ngay tháng muốn lấy giá '&type=full

thì nó sẽ hiện ra những giá trị (html) để xô xuống DIV có ID = gianoidiaFull
nhưng mình truy cập vào thì nó lại đưa về trang http://giacaphe.com

không biết họ làm kiểu gì vậy các bạn ? tại dữ liệu trả về cho DIV là html mà, làm sao khóa được ?

Và làm sao lấy được nổi dung của nó. đây ?

Mong mọi người góp ý dum mình cái. Cám ơn mọi người trứoc nha .
zmt264 viết 13:24 ngày 10/10/2018
Được gửi bởi Nhoc.Maru
Hiện tại mình đang có ý định làm một web tin tức. Mình muốn làm một cái bock về giá cả cà phê. về nguồn dữ liệu thì mình lấy từ trang
http://giacaphe.com/gia-ca-phe-noi-dia.html

Mình xem nguồn thì thấy nó sử dụng Jquery xô xuống cái DIV
-----------------------------------------------------------------
<form method="post">
Xem theo ngày:
<select id="ListDate" onchange="LoadGiaNoiDia();" style="width: 100px; padding:2px 4px;">

<option value="2011-04-09">09/04/2011</option><option value="2011-04-08">08/04/2011</option><option value="2011-04-07">07/04/2011</option><option value="2011-04-06">06/04/2011</option><option value="2011-04-05">05/04/2011</option><option value="2011-04-04">04/04/2011</option><option value="2011-04-02">02/04/2011</option><option value="2011-04-01">01/04/2011</option><option value="2011-03-31">31/03/2011</option><option value="2011-03-30">30/03/2011</option><option value="2011-03-29">29/03/2011</option><option value="2011-03-26">26/03/2011</option><option value="2011-03-25">25/03/2011</option><option value="2011-03-24">24/03/2011</option><option value="2011-03-23">23/03/2011</option><option value="2011-03-22">22/03/2011</option><option value="2011-03-21">21/03/2011</option><option value="2011-03-19">19/03/2011</option><option value="2011-03-18">18/03/2011</option><option value="2011-03-17">17/03/2011</option><option value="2011-03-16">16/03/2011</option><option value="2011-03-15">15/03/2011</option> </select>

</form>
</div>
<div id="gianoidiaFull"> </div>
<script type="text/javascript">
function LoadGiaNoiDia() {
var SLDate = jQuery("#ListDate").val();
jQuery.ajax({
type: "POST",
url: 'http://giacaphe.com/wp-content/themes/Y5cafe_v4/apps/gianoidiaHome.php?ngay=' + SLDate + '&type=full',
cache: false,
data: "",
beforeSend: function () {
jQuery('#gianoidiaFull').html('<div class="loading"><img src="http://giacaphe.com/wp-content/themes/Y5cafe_v4/img/icon/fbload.gif" /></div>');
},
success: function (req) {
jQuery('#gianoidiaFull').html(req);
}
});
}
LoadGiaNoiDia();
</script>
------------------------------------------------------------------

Mình nghĩ nếu mình vào trực tiếp trang này :
http://giacaphe.com/wp-content/theme...Home.php?ngay=' ngay tháng muốn lấy giá '&type=full

thì nó sẽ hiện ra những giá trị (html) để xô xuống DIV có ID = gianoidiaFull
nhưng mình truy cập vào thì nó lại đưa về trang http://giacaphe.com

không biết họ làm kiểu gì vậy các bạn ? tại dữ liệu trả về cho DIV là html mà, làm sao khóa được ?

Và làm sao lấy được nổi dung của nó. đây ?

Mong mọi người góp ý dum mình cái. Cám ơn mọi người trứoc nha .
Thông thường, thì người ta sẽ check referer, nếu là AJAX request thì mới trả về dữ liệu, còn request thông thường thì redirect về trang chủ cho nên xảy ra hiện tượng như bạn nói.

Cách xử lý là fake referer, ví dụ chỉnh option về referer của cURL để "giả" AJAX.

Mình gợi ý thế thôi nhé, phần việc còn lại mong bạn cố gắng.
y5cafe viết 13:26 ngày 10/10/2018
Được gửi bởi zmt264
Thông thường, thì người ta sẽ check referer, nếu là AJAX request thì mới trả về dữ liệu, còn request thông thường thì redirect về trang chủ cho nên xảy ra hiện tượng như bạn nói.

Cách xử lý là fake referer, ví dụ chỉnh option về referer của cURL để "giả" AJAX.

Mình gợi ý thế thôi nhé, phần việc còn lại mong bạn cố gắng.
thầy lại vẽ đường cho hưu chạy
zmt264 viết 13:38 ngày 10/10/2018
Được gửi bởi y5cafe
thầy lại vẽ đường cho hưu chạy
vẽ thôi chứ có bế hươu đến đích đâu mà lo , sợ gì thế :P, cần học thêm bài "chống Fake referer" ko ; ? :p
Nhoc.Maru viết 13:27 ngày 10/10/2018
Ố ồ ! có chủ nhà ở đây thì mở cửa cho hươu chạy vào đi ;D
y5cafe viết 13:31 ngày 10/10/2018
Được gửi bởi zmt264
vẽ thôi chứ có bế hươu đến đích đâu mà lo , sợ gì thế :P, cần học thêm bài "chống Fake referer" ko ; ? :p
dạ cần chứ ạ hình như bài này chưa có cờ líp
Nhoc.Maru viết 13:28 ngày 10/10/2018
cố cắng lên .............
diepnghitinh viết 13:36 ngày 10/10/2018
Hiện bây giờ ajax chạy trên 1 số web brower sẽ không lấy dc nội dung của trang ngoài cần gửi request đến, nếu bạn thử trên các phiên bản ie từ 6 trở về trước thao tác này sẽ dc chấp nhận, nhưng từ ie 7 -> thao tác này đã không thể thực hiện được
Nhoc.Maru viết 13:31 ngày 10/10/2018
èo. IE 6 mới sài được thì nói làm gì.
người ta sắp sử bắn IE 6 rồi (
xemphimvui.com viết 13:22 ngày 10/10/2018
Được gửi bởi y5cafe
thầy lại vẽ đường cho hưu chạy
Chào đồng hương. Thầy không vẽ đường thì hươu vẫn cứ chạy mà. Bác zmt264 không biết có nhớ mình là ai không nhỉ?

Cái này mình lấy được rồi nhưng không nên đưa lên đây. Bác nào lấy thì get từ link này nhé: http://19vn.com/giacaphe/

Muốn lấy theo ngày thì lấy theo link sau: http://19vn.com/giacaphe/ngay.php?day=2011-06-15
Bài liên quan
0