臨摹微笑
2023-04-04 18:14:02
也許分析協(xié)議(但是怎么分析?),模擬執(zhí)行JavaScript腳本(怎么弄?),……另外可能寫一個(gè)通用的爬取AJAX頁面的Spider或許是比較復(fù)雜的問題,沒有聽說或相關(guān)開源項(xiàng)目。下面是問題描述:比如一個(gè)頁面的下一頁(ajax函數(shù)中有一個(gè)得到url對應(yīng)數(shù)據(jù)放到content標(biāo)簽部分):javascript: <a href="javascript:Down(1)">下一頁</a>對應(yīng)的JavaScript代碼可能是:function Down(index){ $("#pageindex").val(parseInt(index)+1);
ajaxpage(parseInt(index)+1);
}function ajaxpage(index)
{
$.ajax({ type:"post",
url:"class.aspx",
data:"Option=select&cid="+$("#classid").val()+"&asc="+$("#orderselect>option:selected").val()+"&keyword="+escape($("#textfield").val())+"&PI="+index,
success:function(data)
{ $("#content").html(data);
},
error: function(data) {
alert("連接超時(shí),稍后再試!");
}
}
2 回答

明月笑刀無情
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
不懂PHP,一直在用java抓東西,說說我的做法。
對于ajax的請求,一般都會(huì)返回json或者xml格式的數(shù)據(jù),打開網(wǎng)頁的時(shí)候你可以用firebug來查看后臺發(fā)送的ajax請求的格式,程序中設(shè)置請求的頭信息,有的網(wǎng)站還需要設(shè)置cookie信息,不然不會(huì)返回?cái)?shù)據(jù),cooike的信息firebug都能查得到的。然后在發(fā)送請求,一般都會(huì)成功。
技術(shù)稍微過關(guān)的網(wǎng)站都會(huì)設(shè)置請求的頻率限制,所以,注意發(fā)送請求的頻率。

達(dá)令說
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
php里面沒有這樣的擴(kuò)展(至少我還沒遇到過),但是原來做java的時(shí)候有很多html引擎的實(shí)現(xiàn),你可以去找一找。
添加回答
舉報(bào)
0/150
提交
取消