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

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

js post网站专区

[复制链接]
 楼主| 发表于 2011-3-18 12:26:48 | 显示全部楼层
本帖最后由 zhouchanglin 于 2011-3-18 12:30 编辑

回复 90# ghhhua

这个网站属于在一个表单搜索,然后用另一个表单记录用户搜索的条件,这样在翻页的时候就可以通过记录用户搜索的条件知道用户的当前选择,提交这个表单以达到翻页的目的

用户搜索的表单是,源码
  1. div class="lefttitle">备案查询</div>
  2.       <form id="form2" name="form2" method="post" action="/index.do">
复制代码
略去了其中的表单项,具体可以查看这个表单

做翻页主要查看页码部分的代码,看翻页触发的事件就很容易了
这是页脚的代码
  1. 共&nbsp;33&nbsp;页&nbsp;共&nbsp;1215&nbsp;条记录
  2. [<A href="javascript:skip('1');">首&nbsp;&nbsp;页]</A>
  3. [<A HREF="javascript:skip('0');">上一页</A>]
  4. [<A HREF="javascript:skip('2');">下一页</A>]
  5. [<A HREF="javascript:skip('33');">末&nbsp;&nbsp;页</A>] <in
复制代码
可知道触发了skip(),在源码找到skip(),
  1. function skip(page){
  2.         document.indexForm.elements['method'].value= 'entps';//name=indexForm的表单的name=method的表单元素的value= 'entps'
  3.         document.indexForm.elements['cpf.cpage'].value= page;//name=indexForm的表单的name=method的表单元素的value= 传的page参数
  4.         document.indexForm.submit();//indexForm的表单提交
  5. }
复制代码
name=indexForm的表单:
  1. <form name="indexForm" method="post" action="/index.do;jsessionid=8A0013A6F8426A3C1797E27A77B82ABA"> //action后面是post地址,jsessionid需要去掉,只是/index.do
  2.            <input type="hidden" name="method" value="entps">//目的,代表哪种请求,entps是备案查询
  3.            <input type="hidden" name="type" value="2"> //
  4.         <input type="hidden" name="entpname" value=""> //公司名称
  5.         <input type="hidden" name="sbname" value=""> //经营资源
  6.            <input type="hidden" name="province" value=""> //省份
  7.            <input type="hidden" name="bdate" value=""> //起始日期
  8.            <input type="hidden" name="edate" value=""> //终止日期
  9.            <input type="hidden" name="city" value=""> //城市
  10. <input name="cpf.cpage" type="hidden" value="1" size="2" maxlength="4"> //当前页
  11. <input name="cpf.pagesize" type="hidden" value="37" size="2" maxlength="4">//每页数量
  12. </form>
复制代码
这个表单会在备案查询搜索表单提交后,设置相应的数据,即是相互对应的,具体可以查看那个用户搜索的表单,而这个表单的作用是记录用户的搜索条件,翻页时提交尺表单

这样翻页地址,我用post的方式组合提交参数,
  1. http://txjy.syggs.mofcom.gov.cn/index.do?method=entps&type=2&entpname=&sbname=&province=&bdate=&edate=&city=&cpf.cpage=分页&cpf.pagesize=37
复制代码
路第2页就是http://txjy.syggs.mofcom.gov.cn/ ... amp;cpf.pagesize=37
第3页
http://txjy.syggs.mofcom.gov.cn/ ... amp;cpf.pagesize=37

所以当搜索后,只要查看indexForm表单即可

修改下规则里我加了37页,最多33页,一开始我把cpf.pagesize=37当成总页数了

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-3-18 13:35:43 | 显示全部楼层
回复 88# lanxianghui
所有的数据都在一个页面了,这个网站的提交很复杂,我看不明白,可能全是从页面window.HotelQuery = {}提取的,这样反而很容易采了,直接添加http://hotels.ctrip.com/hotel/chongqing4/一页,然后把
  1. allHotels:'19098,23188,73657,51646,26975,22482,81563,80704,20905,73271,63617,63143,21232,56266,75487,25286,66140,83458,5929,24876,45360,46205,25460,84382,20377,65438,5931,48386,5934,17599,45046,51484,52718,54528,75005,62979,12065,62804,46641,57525,11082,75621,82854,79781,80690,46400,85870,21104,63321,19470,16043,20244,12399,26805,84436,80542,80909,78939,67118,54093,83946,66487,85957,78001,84500,66999,46630,77999,8085,64051,48774,80969,82256,82452,79839,46500,52730,77161,64120,82611,70793,72271,13013,21351,72914,21499,73680,79699,79864,75035,54367,85512,52504,62994,47566,67929,85126,62957,83977,82207,80570,79937,72798,85129,65447,56239,84023,84333,77666,79728,83706,85249,80966,83899,78509,73363,82802,82189,79056,25330,85124,84191,76440,86276,73012,80862,78500,86533,79859,80058,84446,79061,50454,80895,82815,85960,63274,81246,82514,73505,84829,65178,74031,86545,82057,84425,79353,80152,80861,81395,77616,82311,82923,71585,81979,52071,82470,26037,65200,65172,48343,47428,82816,48342,62952,14888,55533,79654,81572,66494,65998,20617,22777,73727,47715,21618,75846,6190,66712,25611,20962,47392,76020,56379,72710,67032,57668,79692,48056,56926,80200,19985,67626,63521,81369,65999,64705,76399,77682,72680,45081,19239,78084,46231,64457,72809,78965,81170,13967,22218,74580,77916,52027,56918,81864,81868,75580,73237,63296,82909,64873,50958,48424,82925,81849,83710,80573,80692,78414,80153,66129,68184,81266,81851,83617,55262,83703,81629,77571,83360,67895,82698,84281,80134,83567,75974,85128,79749,74028,81167,62854,47189,44931,85240,74670,47647,79705,80863,63343,57643,57421,79638,81110,82300,77730,52550,84830,75636,67045,75063,76040,70975,46941,83694,83895,82356,84340,62954,81399,46115,46053,56916,57244,48375,66045,64546,82015,56178,52812,45090,62117,57192,48918,67937,45113,65265,26004,17273,20769,56242,76060,24887,62860,74605,85701,77016,46912,52712,80965,84786,64712,75732,47273,85513,84339,80574,78738,65170,84226,79757,84783,77948,47046,85419,85589,43965',
复制代码
用自定义网址循环出来,最前最后2个hotel id,匹配不出,直接添加,这样所有的就采到了,你可以查看最前的是19098,最后页的最后一条id正好是43965

本帖子中包含更多资源

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

x
发表于 2011-3-18 13:38:41 | 显示全部楼层
http://zp.tc.cn/zwlist.aspx
太仓人才网
我写的POST对嘛?

_EVENTTARGET=Ddl_PageNumber&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=随机&__EVENTVALIDATION=随机&Ddl_PageNumber=分页


为什么我猜不到数据??
 楼主| 发表于 2011-3-18 13:56:38 | 显示全部楼层
回复 93# lee1986320
你的post对,踩不到可能是随机值设置,还有post一般要自定义网址形式,自动识别火车头仿佛有bug

本帖子中包含更多资源

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

x
发表于 2011-3-18 14:07:44 | 显示全部楼层
回复 94# zhouchanglin


谢谢了,真的很感谢你
发表于 2011-3-18 14:28:17 | 显示全部楼层
http://www.kshr.com.cn/ksasp/person/listissu.ASP?newissue=1  昆山人才网
POST数据为
js=20&condition=+WHERE+ISSUE_DATE+%3E+DATEADD%28+DAY+%2C++-+7+%2C+GETDATE%28%29+%29&empid=o&job_name=&idall=o510581o510583o510577o510586o510574o510579o510576o510572o510590o510588o510584o510592o516391o516387o516384o516377o516445o516433o516400o516380o&ScrollAction=%CF%C2%D2%BB%D2%B3&ScrollTo2=2&showtype=&PageNo2=
这个有随机值  和分页吗?
 楼主| 发表于 2011-3-18 20:01:54 | 显示全部楼层
本帖最后由 zhouchanglin 于 2011-3-18 20:10 编辑

回复 http://bbs.locoy.com/redirect.ph ... 9856&ptid=56816]96# lee1986320
l列表分页为下面的格式:
  1. http://www.kshr.com.cn/ksasp/person/listissu.ASP?newissue=1&js=20&condition=WHERE ISSUE_DATE > DATEADD( DAY ,  - 7 , GETDATE() )&job_name=&PageNo2=页码&switch=转到指定页
复制代码
第2页就是http://www.kshr.com.cn/ksasp/per ... tch=转到指定页

这个地址在浏览器打开会编码,需要使用地址栏的,地址有中文火车头出错,地址加不了

从源码中到
  1. 第<INPUT TYPE=TEXT NAME=PageNo2 SIZE=4>页<INPUT TYPE=SUBMIT NAME=switch VALUE=" 转到指定页" >
复制代码
即考虑用输入页码点转到自定页翻页方式,提交表单
  1. <FORM METHOD=POST ACTION=/ksasp/person/listissu.ASP?newissue=1 NAME="infoform">
复制代码
这样地址可以把表单拥有name的把各个&连接,连载post地址http://www.kshr.com.cn/ksasp/person/listissu.ASP?newissue=1后面

这样翻页地址就是
  1. http://www.kshr.com.cn/ksasp/person/listissu.ASP?newissue=1&js=20&condition=WHERE   ISSUE_DATE > DATEADD( DAY ,  - 7 , GETDATE() )&empid=o&job_name=&ScrollTo2=&PageNo2=分页&switch=转到指定页
复制代码
而switch=转到指定页是这种方式翻页的标示,不可缺少
js=20--------------------每页数量
condition=WHERE ISSUE_DATE > DATEADD( DAY ,  - 7 , GETDATE() )数据库条件表达式

empid=o------------------数据id分割符

ScrollTo2-----------------------下一页翻页的代表页码,无效
PageNo2=分页-----------------------------输入页码点转到自定页翻页方式的页码

这个网站 数据顺序是随机的

本帖子中包含更多资源

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

x
发表于 2011-3-19 15:56:40 | 显示全部楼层
回复 91# zhouchanglin

感谢大侠的帮助,问题已经得到圆满的解决,叩谢了
发表于 2011-3-20 09:49:17 | 显示全部楼层
oh my god  天下居然有楼主如此好人,,,我学了大半个月都不知道啊。。http://bbs.szhome.com/index.aspx?boardid=80   请指教!
 楼主| 发表于 2011-3-20 11:36:07 | 显示全部楼层
回复 99# 104603803

这个http://bbs.szhome.com/index.aspx?boardid=80   网址在框架里调用了列表网址
  1. <frame name="mainFrame" src='fetchdata.aspx?boardid=80' scrolling="auto">
复制代码
这样列表地址是http://bbs.szhome.com/fetchdata.aspx?boardid=80,这个是常见的post分页

下面页码部分,第2页的
  1. <a href="javascript:__doPostBack('AspNetPager2','2')" style="margin-right:5px;">[2]</a>
复制代码
可以知道点击触发:__doPostBack('AspNetPager2','2')

__doPostBack:
  1. var theForm = document.forms['form1'];
  2. if (!theForm) {
  3.     theForm = document.form1;
  4. }
  5. function __doPostBack(eventTarget, eventArgument) {
  6.     if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
  7.         theForm.__EVENTTARGET.value = eventTarget;//AspNetPager2,这个是请求的目的标识
  8.         theForm.__EVENTARGUMENT.value = eventArgument;//点第2页就是2,这个就是代表分页
  9.         theForm.submit();//form1表单提交
  10.     }
  11. }
复制代码
form1表单:
  1. <form name="form1" method="post" action="fetchdata.aspx?boardid=80" id="form1">
复制代码
连接表单具有name的表单项,就得到了post数据
  1. :__EVENTTARGET=AspNetPager2&__EVENTARGUMENT=[分页]&__LASTFOCUS=&__VIEWSTATE=[POST随机值1]&dropOrderBy=0
复制代码
这个网站和最常见的post分页有些不同,有许多js 这个东西Sys.Application.add_init和 __LASTFOCUS有关,一般对最后的提交没有影响


本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

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

GMT+8, 2024-11-18 20:38

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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