Spider抓取动态内容(JavaScript指向的页面)
PHP新手,在写爬虫练手,一般情况下跟踪链接不是很难,但是如果是动态页面就束手无策了。
也许分析协议(但是怎么分析?),模拟执行JavaScript脚本(怎么弄?),……
另外可能写一个通用的爬取AJAX页面的Spider或许是比较复杂的问题,没有听说或相关开源项目。
下面是问题描述:
比如一个页面的下一页(ajax函数中有一个得到url对应数据放到content标签部分):javascript: 下一页
对应的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,期望有进展,但是可能放在这里可能会更快得到解答。
相关阅读:
如何更有效的阅读jquery框架?
线程中无法使用spring注入的问题
如何使用原生js提交form
ExpandableListAdapter中getChild和getGroup调用时间?
android批量上传图片,20张以上必出现失败几率
关于javascript中基本数据类型的问题
js或者jq实现二级联动,select实现,要求进入页面默认初始化状态。
php 析构方法 __destruct 什么情况下执行
为什么我加这个东西在移动端不能显示全屏背景呢?没有加就可以显示全屏背景
mysql当中语句问题,unxi时间戳和当前世界差的问题?
导入org.springframework.beans.annotation.Autowired 报错
微信支付获取prepayid,返回签名不匹配,
Java的线程池,如何设定保留的最小线程数和固定的队列容量?
把视频文件存在mongo数据库好么?GridFSDBFile
unity3d导出apk文件,在手机上测试显示不正常。
在onContextItemSelected方法中,item.getMenuInfo得到null ?
python+redis blpop方法获取不到队列里的数据?
turbolinks google analytics 该怎么解决
HTML5中的localStorage什么时候会被清空?
php虚拟机配置访问不到本地