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

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

哪位高人能帮我找到这个页面的网址

[复制链接]
发表于 2010-11-24 09:03:45 | 显示全部楼层 |阅读模式
http://www.gzaic.gov.cn/gsbm/FrmRegOpeninfoDetail.aspx
以上页面,输入“2010-11-19”,点击“查询”。
可是找不到网址,采不到数据。
请高人指点迷津!不胜感激!
发表于 2010-11-24 09:21:46 | 显示全部楼层
用POST抓取数据吧
 楼主| 发表于 2010-11-24 09:36:26 | 显示全部楼层
没有啊,post里面也是始终同一个网址,就是说任何一天的都是相同的。这种情况有碰上过吗?用什么技术处理啊?求教了

本帖子中包含更多资源

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

x
发表于 2010-11-24 11:43:39 | 显示全部楼层
使用POST方式获取分页,查看POST的数据
发表于 2010-11-24 12:49:16 | 显示全部楼层
这个网站没有分页,可以把日期当分页来采,这是抓到的post数据:
  1. __EVENTTARGET=QueryButton&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUJNTY3MzA5NTY4D2QWAgIDD2QWBAIFDzwrAA0BAA8WBh4LXyFEYXRhQm91bmRnHglQYWdlQ291bnQCAR4LXyFJdGVtQ291bnQCAWQWAmYPZBYGZg8PZBYCHgVzdHlsZQUrYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2ltYWdlcy9saW5lX2JnMy5naWYnKWQCAQ9kFgZmD2QWAgIBDw8WAh4EVGV4dGVkZAIBD2QWAgIBDw8WAh8EZWRkAgIPZBYCAgEPDxYCHwRlZGQCAg8PFgIeB1Zpc2libGVoZGQCBw8PZA8QFgFmFgEWAh4OUGFyYW1ldGVyVmFsdWVkFgECAmRkGAEFCUdyaWRWaWV3MQ88KwAIAQNmZDOWflRU4yYlKL3bNWFmQ7JSU7ce&txtDT=2010-11-17&__EVENTVALIDATION=%2FwEWBALUl%2B5XArz7uv8PAoCn6soEAquDur4M2iDScmpNqgcNSGRiokwx4SzAqsA%3D
复制代码
可见txtDT=2010-11-17是关键的地方,可以把日期作为分页提交post数据,这样就可以查询整个11月的信息,查10月,改下月份就行了,不过我只是通过采网址是直接把整页的重要信息做个标签来采集,所以数据很乱


再把post数据中的随机值处理下就可以了
  1. __EVENTTARGET=QueryButton&__EVENTARGUMENT=&__VIEWSTATE=[POST随机值1]&txtDT=2010-11-[分页]&__EVENTVALIDATION=[POST随机值2]
复制代码
具体看规则


这些数据都是可以解释的
  1. tr>  
  2.                 <td class="td-left" width="13%">
  3.                     请选择日期
  4.                 </td>
  5.                 <td class="td-main"  width="25%">
  6.                     <input name="txtDT" type="text" id="txtDT" value="2010-11-24" />
  7.                     &nbsp;&nbsp;
  8.                 </td>
  9.                 <td class="td-main">
  10.                     <input language="javascript" onclick="if(!CheckDataSynax())   return; __doPostBack('QueryButton','')" name="QueryButton" type="button" id="QueryButton" value="查询" class="input-an" /></td>
  11.                
  12.             </tr>
  13.     </table>
复制代码
这部分当点击查询按钮时会触发onclick="if(!CheckDataSynax())   return; __doPostBack('QueryButton','')" ,首先检查日期格式是否符合,符合进行__doPostBack函数,现在这里有2个函数,下面是他们的代码
  1. <script language="JavaScript"  type="text/javascript">
  2.         function CheckDataSynax()
  3.         {
  4.             var oElement  = document.getElementById("txtDT").value;
  5.             var tmp_str = trim(oElement);
  6.             if(!strShortDateTime(tmp_str))
  7.             {
  8.                 alert('日期格式不正确!(正确的日期格式:1900-1-1)');
  9.                 return false;
  10.             }
  11.             else
  12.             {
  13.                 return true;
  14.             }
  15.         }
  16.     </script>
复制代码
  1. <script type="text/javascript">
  2. <!--
  3. var theForm = document.forms['form1'];
  4. if (!theForm) {
  5.     theForm = document.form1;
  6. }
  7. function __doPostBack(eventTarget, eventArgument) {
  8.     if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
  9.         theForm.__EVENTTARGET.value = eventTarget;
  10.         theForm.__EVENTARGUMENT.value = eventArgument;
  11.         theForm.submit();
  12.     }
  13. }
  14. // -->
  15. </script>




复制代码
__doPostBack函数先设置了表单__EVENTTARGET的值,这个东西是代表查询的方式把,离路有的是输入页码而有的是点击下一页提交,__doPostBack('QueryButton','')执行后,可见__EVENTTARGET=QueryButton,而__EVENTARGUMENT=空的支付;

另外__VIEWSTATE=[POST随机值1]


EVENTVALIDATION=[POST随机值2]
一大堆字符就是POST随机值,把这些必要的表单项目&连接,提交就可以了

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-5-18 10:44

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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