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

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

js post网站专区

[复制链接]
发表于 2010-12-7 12:11:30 | 显示全部楼层 |阅读模式
本帖最后由 zhouchanglin 于 2013-1-24 09:33 编辑

不再提供帮写,如有需求》》》
发表于 2010-12-7 13:56:07 | 显示全部楼层
老大做个采qq空间的教程嘛

http://user.qzone.qq.com/573326261/blog/1291638277
 楼主| 发表于 2010-12-7 16:02:12 | 显示全部楼层
本帖最后由 zhouchanglin 于 2010-12-7 16:04 编辑

腾讯的是有难度的
分析源码太麻烦了,只能抓包了

  1. http://br.cnc.qzone.qq.com/cgi-bin/blognew/blog_output_titlelist?uin=573326261&vuin=0&property=GoRE&getall=1&styledm=cnc.qzonestyle.gtimg.cn&imgdm=cnc.qzs.qq.com&bdm=b.cnc.qzone.qq.com&category=&num=15&sorttype=0&from=0
复制代码
这里面有日记的列表,其中from参数是页数相关的,uin=573326261是空间的主人的id,

列表写成这样
  1. http://br.cnc.qzone.qq.com/cgi-bin/blognew/blog_output_titlelist?uin=307157985&vuin=0&property=GoRE&getall=1&styledm=cnc.qzonestyle.gtimg.cn&imgdm=cnc.qzs.qq.com&bdm=b.cnc.qzone.qq.com&category=&num=15&sorttype=0&from=(*)
复制代码
num=15表示每页15篇,
日记内容时可以在正文区域鼠标右键属性,就看到调用的地址了,
  1. http://br.cnc.qzone.qq.com/cgi-bin/blognew/blog_output_data?uin=307157985&blogid=1277381355
复制代码
blogid=1277381355是日记的id,

只能一个规则采一个空间的,使用时要改之定义的网址中的
  1. http://br.cnc.qzone.qq.com/cgi-bin/blognew/blog_output_data?uin=307157985&blogid=[参数1]
复制代码
,uid改为要采的用户的,列表里德uid也要改为要采的用户的,网站是要登录的,你要登录自己的空间才行

抱歉了uin=307157985的主人,

规则

本帖子中包含更多资源

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

x
发表于 2010-12-9 21:24:28 | 显示全部楼层
本帖最后由 zhangxiang 于 2010-12-10 12:31 编辑

http://www.365future.com/Search/SearchNews.aspx?typeid=299


谢谢楼主的教程。及时的很!
 楼主| 发表于 2010-12-10 12:25:42 | 显示全部楼层
楼上的做好了

本帖子中包含更多资源

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

x
发表于 2010-12-10 12:38:31 | 显示全部楼层
谢谢,学习了一下,基本会了,万分感谢楼主的无私帮助。
发表于 2010-12-11 10:19:11 | 显示全部楼层
http://expo.pec365.com/company/pro_co_list.aspx

求楼主帮忙~抓包总是不对!后面的有很多不一样的!迷茫~新手学习中~
 楼主| 发表于 2010-12-11 11:14:44 | 显示全部楼层
楼上的做好了,这个网站速度很慢,测试效果不好

post数据:
  1. __EVENTTARGET=APage&__EVENTARGUMENT=[分页]&__VIEWSTATE=[POST随机值1]&txt_CompName=&ddlArea=0&ddlModel=0&ddlExpo=00&ddlpage=10
复制代码
post数据参数说明:
txt_CompName------------搜索词
ddlArea------所在位置
ddlModel-----经营模式
ddlExpo-----展台
ddlpage--------每页显示条数

这些都可以在源码里找到,做相应设置就可以了
还有__doPostBack函数,
  1. function __doPostBack(eventTarget, eventArgument) {
  2.                 var theform;
  3.                 if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
  4.                         theform = document.frmAreaSearch;
  5.                 }
  6.                 else {
  7.                         theform = document.forms["frmAreaSearch"];
  8.                 }
  9.                 theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
  10.                 theform.__EVENTARGUMENT.value = eventArgument;
  11.                 theform.submit();
  12.         }
复制代码
页脚代码
  1. ><a href="javascript:__doPostBack('APage','6')" title="转到第6页">...</
复制代码
可以知道_EVENTARGUMENT是页数,.__EVENTTARGET提交方式是APage

本帖子中包含更多资源

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

x
发表于 2010-12-12 21:03:54 | 显示全部楼层
http://www.skxox.com/xzzx_new.aspx求这个站的规则
 楼主| 发表于 2010-12-13 11:47:45 | 显示全部楼层
楼上的做好了,开始测试一直有多余的网址,火车对于post是不是区域限制无效啊,
有2种提交方式,一种是直接点击页码,另一种是输入页码,点计提交按钮,这两种会发送不同的post数据

我规则里用的是输入页码,1提交的方式:
  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)"
复制代码
这是输入框和提交按钮的代码,输入框可以直接按回车提交,也可以点击按钮提交,主要是
  1. ANP_keydown(event,'Download_list1$Pager1_btn');"
复制代码
  1. 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而另一种提交;点击页码会对
  1. __EVENTTARGET=&__EVENTARGUMENT=
复制代码
进行设置,页脚代码
  1. <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函数,源码
  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;
  8.         theForm.__EVENTARGUMENT.value = eventArgument;
  9.         theForm.submit();
  10.     }
  11. }
复制代码
这样_EVENTTARGET=Download_list1$Pager1;而__EVENTARGUMENT就是页码了

这种提交的post数据
  1. __LASTFOCUS=__VIEWSTATE=随即值__EVENTTARGET=Download_list1$Pager1&__EVENTARGUMENT=2&__EVENTVALIDATION=随即值
复制代码
有些不必要的参数没有加上,应该也不会出错把

可以看   这个采集方法,也许对你有帮助http://bbs.locoy.com/spider-56262-1-1.html,其实熟习javascript,这些东西就变得很容易了

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-18 18:30

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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