为了账号安全,请及时绑定邮箱和手机立即绑定

PHP小白,在写爬虫练手,一般情况下跟踪链接不是很难,但是如果是动态页面就束手无策了。

PHP小白,在写爬虫练手,一般情况下跟踪链接不是很难,但是如果是动态页面就束手无策了。

临摹微笑 2023-04-04 18:14:02
也许分析协议(但是怎么分析?),模拟执行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("连接超时,稍后再试!");     } }
查看完整描述

2 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

不懂PHP,一直在用java抓东西,说说我的做法。
对于ajax的请求,一般都会返回json或者xml格式的数据,打开网页的时候你可以用firebug来查看后台发送的ajax请求的格式,程序中设置请求的头信息,有的网站还需要设置cookie信息,不然不会返回数据,cooike的信息firebug都能查得到的。然后在发送请求,一般都会成功。
技术稍微过关的网站都会设置请求的频率限制,所以,注意发送请求的频率。

查看完整回答
反对 回复 2023-04-07
?
达令说

TA贡献1821条经验 获得超6个赞

php里面没有这样的扩展(至少我还没遇到过),但是原来做java的时候有很多html引擎的实现,你可以去找一找。

查看完整回答
反对 回复 2023-04-07
  • 2 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信