js post网站专区
本帖最后由 zhouchanglin 于 2013-1-24 09:33 编辑不再提供帮写,如有需求》》》972130397 老大做个采qq空间的教程嘛
http://user.qzone.qq.com/573326261/blog/1291638277 本帖最后由 zhouchanglin 于 2010-12-7 16:04 编辑
腾讯的是有难度的
分析源码太麻烦了,只能抓包了
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,
列表写成这样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篇,
日记内容时可以在正文区域鼠标右键属性,就看到调用的地址了,http://br.cnc.qzone.qq.com/cgi-bin/blognew/blog_output_data?uin=307157985&blogid=1277381355blogid=1277381355是日记的id,
只能一个规则采一个空间的,使用时要改之定义的网址中的http://br.cnc.qzone.qq.com/cgi-bin/blognew/blog_output_data?uin=307157985&blogid=[参数1],uid改为要采的用户的,列表里德uid也要改为要采的用户的,网站是要登录的,你要登录自己的空间才行
抱歉了uin=307157985的主人,
规则 本帖最后由 zhangxiang 于 2010-12-10 12:31 编辑
http://www.365future.com/Search/SearchNews.aspx?typeid=299
谢谢楼主的教程。及时的很! 楼上的做好了 谢谢,学习了一下,基本会了,万分感谢楼主的无私帮助。 http://expo.pec365.com/company/pro_co_list.aspx
求楼主帮忙~抓包总是不对!后面的有很多不一样的!迷茫~新手学习中~ 楼上的做好了,这个网站速度很慢,测试效果不好
post数据:__EVENTTARGET=APage&__EVENTARGUMENT=[分页]&__VIEWSTATE=&txt_CompName=&ddlArea=0&ddlModel=0&ddlExpo=00&ddlpage=10post数据参数说明:
txt_CompName------------搜索词
ddlArea------所在位置
ddlModel-----经营模式
ddlExpo-----展台
ddlpage--------每页显示条数
这些都可以在源码里找到,做相应设置就可以了
还有__doPostBack函数,function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
theform = document.frmAreaSearch;
}
else {
theform = document.forms["frmAreaSearch"];
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}页脚代码><a href="javascript:__doPostBack('APage','6')" title="转到第6页">...</可以知道_EVENTARGUMENT是页数,.__EVENTTARGET提交方式是APage
http://www.skxox.com/xzzx_new.aspx求这个站的规则 楼上的做好了,开始测试一直有多余的网址,火车对于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=&__EVENTTARGET=&__EVENTARGUMENT=&__EVENTVALIDATION=&Download_list1$Pager1_input=[分页]&Download_list1%24Pager1=go
2而另一种提交;点击页码会对__EVENTTARGET=&__EVENTARGUMENT=进行设置,页脚代码<a href="javascript:__doPostBack('Download_list1$Pager1','2')" style="margin-right:5px;"></a><a href="javascript:__doPostBack('Download_list1$Pager1','3')" style="margin-right:5px;"></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,这些东西就变得很容易了