|
楼主 |
发表于 2010-12-13 11:47:45
|
显示全部楼层
楼上的做好了,开始测试一直有多余的网址,火车对于post是不是区域限制无效啊,
有2种提交方式,一种是直接点击页码,另一种是输入页码,点计提交按钮,这两种会发送不同的post数据
我规则里用的是输入页码,1提交的方式:- <input type="text" value="1" name="Download_list1$Pager1_input" id="Download_list1$Pager1_input" onkeydown="ANP_keydown(event,'Download_list1$Pager1_btn');" style="width:30px;" /><input type="Submit" name="Download_list1$Pager1" id="Download_list1$Pager1_btn" value="go" onclick="return ANP_checkInput('Download_list1$Pager1_input',179)"
复制代码 这是输入框和提交按钮的代码,输入框可以直接按回车提交,也可以点击按钮提交,主要是- ANP_keydown(event,'Download_list1$Pager1_btn');"
复制代码 和- ANP_checkInput('Download_list1$Pager1_input',179)"
复制代码 函数触发的,可以在源码里找到这2个函数;
它们并没有对__EVENTTARGET=&__EVENTARGUMENT=进行任何设置,而这时Download_list1$Pager1_input输入框里的值和点击按钮是最重要的,post数据里必须包含
这种提交的post数据:[code]__LASTFOCUS=&__VIEWSTATE=[POST随机值1]&__EVENTTARGET=&__EVENTARGUMENT=&__EVENTVALIDATION=[POST随机值2]&Download_list1$Pager1_input=[分页]&Download_list1%24Pager1=go[/code]
2而另一种提交;点击页码会对- __EVENTTARGET=&__EVENTARGUMENT=
复制代码 进行设置,页脚代码- <a href="javascript:__doPostBack('Download_list1$Pager1','2')" style="margin-right:5px;">[2]</a><a href="javascript:__doPostBack('Download_list1$Pager1','3')" style="margin-right:5px;">[3]</a><a href="javascript:__doPostBack('Download_list1$Pager1','4')" style="margin-right:5px;">
复制代码 点击时触发了__doPostBack函数,源码- var theForm = document.forms['form1'];
- if (!theForm) {
- theForm = document.form1;
- }
- function __doPostBack(eventTarget, eventArgument) {
- if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
- theForm.__EVENTTARGET.value = eventTarget;
- theForm.__EVENTARGUMENT.value = eventArgument;
- theForm.submit();
- }
- }
复制代码 这样_EVENTTARGET=Download_list1$Pager1;而__EVENTARGUMENT就是页码了
这种提交的post数据- __LASTFOCUS=__VIEWSTATE=随即值__EVENTTARGET=Download_list1$Pager1&__EVENTARGUMENT=2&__EVENTVALIDATION=随即值
复制代码 有些不必要的参数没有加上,应该也不会出错把
可以看 这个采集方法,也许对你有帮助http://bbs.locoy.com/spider-56262-1-1.html,其实熟习javascript,这些东西就变得很容易了
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?加入会员
x
|