Spider抓取动态内容(JavaScript指向的页面)
PHP新手,在写爬虫练手,一般情况下跟踪链接不是很难,但是如果是动态页面就束手无策了。
也许分析协议(但是怎么分析?),模拟执行JavaScript脚本(怎么弄?),……
另外可能写一个通用的爬取AJAX页面的Spider或许是比较复杂的问题,没有听说或相关开源项目。
下面是问题描述:
比如一个页面的下一页(ajax函数中有一个得到url对应数据放到content标签部分):
javascript: <a href="javascript:Down(1)">下一页</a>
对应的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("连接超时,稍后再试!"); } }
ps: 我正在翻Stackoverflow,期望有进展,但是可能放在这里可能会更快得到解答。
米唐.分.
10 years, 9 months ago
Answers
php里面没有这样的扩展(至少我还没遇到过),但是原来做java的时候有很多html引擎的实现,你可以去找一找。比如
偷咸鱼的猫
answered 10 years, 9 months ago