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("连接超时,稍后再试!");
}
}
此时用curl 是爬取不到动态的内容的,如何爬取动态获得的内容昵?
并没有人理你
写爬虫的童鞋可以试试神箭手云爬虫,自带JS渲染、代理ip、验证码识别等功能,还可以发布和导出爬取的数据,生成图表等,都在云端进行,不需要安装开发环境。
开发文档参考:http://doc.shenjianshou.cn/