火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 5959|回复: 8

采集ajax页面,结果只能采集第一页,是什么原因

[复制链接]
发表于 2010-11-27 09:20:50 | 显示全部楼层 |阅读模式
http://www.520job.com/apply/
我想采集这个页面

我用软件获取了它的发送的内容     
ty=0&info=1
ty=0&info=2
ty=0&info=3
ty=0&info=4

当翻页时,只有info这个参数是变化的,和页码相同。我的采集设置如下


点测试网址的时候,采集到的数据永远是第一页的。我想问下我的设置是不是有问题!

哪位能指点一二??

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入会员

x
 楼主| 发表于 2010-11-27 09:44:58 | 显示全部楼层
有人知道吗????????
 楼主| 发表于 2010-11-27 10:45:52 | 显示全部楼层
发表于 2010-11-27 12:41:14 | 显示全部楼层
好像是你post提交的地址不正确,以下是分析的数据:首先是
  1. <img src="/images/730_01_01.gif" title="上一页" width="71" height="23" style="cursor:pointer" onClick="goPage('inputpage', 'totalpage','up')" /> <img src="/images/730_02.gif" title="下一页" width="71" height="23"  style="cursor:pointer" onClick="goPage('inputpage', 'totalpage','next')" /> </td>
  2.             <td width="150">转到
  3.               <input name="gopage1" type="text"  style="height:18px; line-height:15px; width:32px; text-align:center; border:1px solid #D9E0EA; margin:0px 3px;" id="gopage1" onKeyUp="value=value.replace(/[^\d]/g,'') " value="1" size="5" maxlength="10" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" />
  4.                           
  5.               <img src="../images/btn_ok3.gif" title="" style="cursor:pointer" onClick="goPage('gopage1','totalpage','nonce')" /> 页</td>
复制代码
这是它的页脚部分的代码,可以得出当点击上一页,下一页和输入页码都触发了goPage()函数,所以这个函数是关键,找出它的源码,一切问题就可以解决了

而原网页代码里找不到这个函数,所以肯定藏在了js文件里,我把整个网页全部保存,再来看它的js文件,

根据js文件的名字,已经可以大概猜出每个文件的用途了,

ajax文件设置了ajax的请求函数
  1. MyAJAX("POST", postUrl, params, "text", applyinfoResult)
复制代码


list文件里包含了1.换档的函数
  1. applyswitchCell(n, hash)
复制代码
,控制4个档的互换,ty参数代表哪个档,1,2,3,4

2.关键函数fgoPage(inputpage,totalpage,pageto),这是它的源码
  1. function goPage(inputpage,totalpage,pageto)
  2. {
  3.         var page = document.getElementById(inputpage).value;
  4.         var totalpage = document.getElementById(totalpage).value;
  5.         if(pageto=='next'){
  6.                 page=parseInt(page)+1
  7.         }else if(pageto=='up'){
  8.                 page=parseInt(page)-1
  9.         }
  10.         page = filterPage(page, totalpage);
  11.         document.getElementById("inputpage").value = page;
  12.         applylistinfo(page);
  13. }

  14. function applylistinfo(info)
  15. {
  16.         var postUrl="with/list.asp";
  17.         var infoty = document.getElementById("infoty").value;
  18.         var params="ty="+ infoty +"&info="+info;
  19.         MyAJAX("POST", postUrl, params, "text", applyinfoResult);
  20. }

  21. function applyinfoResult(responseText)
  22. {       
  23.     var page = document.getElementById("inputpage").value;
  24.         document.getElementById("apply_list").innerHTML = responseText;
  25.         document.getElementById("pagetxet").innerHTML = page;
  26.         document.getElementById("pagetxet1").innerHTML = page;
  27. }
复制代码
嵌套的函数,goPage('gopage1','totalpage','nonce')" 以输入页码触发为例,可知函数得到了欲请求的页码,info变量接收了页码的值,这样params参数(post数据)---ty=1&info=页;
  1. MyAJAX("POST", postUrl, params, "text", applyinfoResult
复制代码
);这个函数可以在ajax文件里找到,建立了ajax请求,请求方式post,post地址postUrl,
  1. var postUrl="with/list.asp";
复制代码
,可知地址是http://www.520job.com/apply/with/list.asp,这样问题就解决了

把ty=1&info=分页,作为post数据,post地址http://www.520job.com/apply/with/list.asp,就可以采到了,这个网站我用get方式提交试了下,也可以请求到数据,规则里我是用get方式采集的,路写成这样的http://www.520job.com/apply/with/list.asp?ty=1&info=15

它的数据好像每页也是变的,每页的数据可能会不断变化



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入会员

x
 楼主| 发表于 2010-11-27 15:11:37 | 显示全部楼层
http://www.520job.com/apply/with/list.asp
这个地址我也试过,可就是不行

你一提醒倒让我 醍醐灌顶了。谢谢
 楼主| 发表于 2010-11-27 15:12:48 | 显示全部楼层
还有一个问题
采集到的内容页地址是 http://www.520job.com/apply/with/job_show.asp?id=78974

而实际地址是http://www.520job.com/apply/job_show.asp?id=78974

请问这个在采集的时候能替换吗
发表于 2010-11-27 16:45:17 | 显示全部楼层
使用手动填写链接规则方式组合出正确地址就可以了
发表于 2010-12-1 00:36:51 | 显示全部楼层
我來就是對你最大的支持
发表于 2010-12-2 09:25:46 | 显示全部楼层
自动跳转了  啊 呵呵
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2025-5-18 14:04

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表