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

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

数据查询累网站的采集方法post

[复制链接]
发表于 2010-10-25 19:34:12 | 显示全部楼层 |阅读模式
还不太会采post的朋友看看把,高手就不必了

数据查询累网站,一般都是用post方式请求的,post也只是分析下表单就可以了,和发布模块一样,不用抓包也同样能做,抓包只是快捷收集了post数据。对于怎么处理表单的,不是很明白,但只要将表单的各个项目参数,用&连接,了解每个参数的用途,然后对应做些设置就可以了,然后提交到post的地址,就会返回给我们一些设置的数据。

以这个查询站为例,http://pharm.ncmi.cn/dataContent ... hod=list&did=15,里面就一个表单:        <form name="dataviewForm" id="SearchForm" method="post" action="/dataContent/dataSearch.do">

<input 标签的name属性值是表单的项目的名称

陆下面的
<input type="hidden" name="method" value="list" />
                                        <input type="hidden" name="did" value="15" />


                                                                                企业名称
                                                                       
                                                                                <input type="text" name="manufacturer_name" class="text"
                                                                                        value="" />


                                                                                生产范围
                                                                       
                                                                                <input type="text" name="manufacturer_range" class="text"
                                                                                        value="" />

许可证
                                                                       
                                                                                <input type="text" name="certificateno" class="text"
                                                                                        value="" />

<input type="submit" name="ssaveBtn" value="查询" style="background-color:#E8FDD2" class="button">


<input type="hidden"  name="ec_i"  value="ec" />---------
<input type="hidden"  name="ec_crd"  value="15" />-----------每页的显示数据的数量,默认是15 ,可以50,100,200
<input type="hidden"  name="ec_p"  value="1" />-------------第几页,默认是第一页
<input type="hidden"  name="ec_s_certificateno" />--------------不清楚,可能是许可证把
<input type="hidden"  name="ec_s_manufacturer_name" />-------------可能是搜索的企业名把

<input type="hidden"  name="method"  value="list" />       



下面是这些表单路何提交的:源码里这地方是选择每页显示数据数量的下拉框<td class="statusBar" >共 6,689 条记录, 每页<select name="ec_rd"  onchange="javascript:document.forms.SearchForm.ec_crd.value=this.options[this.selectedIndex].value;document.forms.SearchForm.ec_p.value='1';document.forms.SearchForm.setAttribute('action','/dataContent/dataSearch.do?did=15');document.forms.SearchForm.setAttribute('method','post');document.forms.SearchForm.submit()" >
<option value="15"  selected="selected">15</option><option value="50" >50</option><option value="100" >100</option><option value="200" >200</option>
                                </select>图片


会些javascript就能明白是什么意思,当下拉框变化时,把表单中项目name为ec_crd的值变成当前下拉框选定的值,ec_p值为1,设置表单action属性'/dataContent/dataSearch.do?did=15',提交方式method=post,最后提交表单


还有选择页面时,发生的表单提交
                                <td style="font-size:12px;" >到<select name="ec_pd"  style="width:50px;"  onchange="javascript:document.forms.SearchForm.ec_p.value=this.options[this.selectedIndex].value;document.forms.SearchForm.setAttribute('action','/dataContent/dataSearch.do?did=15');document.forms.SearchForm.setAttribute('method','post');document.forms.SearchForm.submit()" >
                                <option value="1"  selected="selected">1</option><option value="2" >2</option><option value="3" >3</option><option value="4" >4</option><option value="5" >5</option><option value="6" >6</option><option value="7" >7</option><option value="8" >8</option><option value="9" >9</option><option value="10" >10</option><option value="11" >11</option><option value="12" >12</option><option value="13" >13</option>       

图片
和上面的差不多
把表单项目用&连接后,
最后post数据是       
method=list&did=15&manufacturer_name=&manufacturer_range=&certificateno=&ssaveBtn=查询&ec_i=ec&ec_crd=50&ec_p=[分页]&ec_s_certificateno=&ec_s_manufacturer_name=

有些参数可能没有用,我也还有很多布是很明白的地方,manufacturer_name----企业名称,manufacturer_range-----生产范围,certificateno----许可证,
ec_crd-------每页显示的数据数量,ec_p---------第几页

百度百科表单http://baike.baidu.com/view/296684.htm


以上只是自己的理解,难免有很多错误

本帖子中包含更多资源

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

x
发表于 2010-11-7 12:14:31 | 显示全部楼层
沙发
发表于 2010-11-8 08:53:43 | 显示全部楼层
好东西。正在研究post
发表于 2010-11-11 00:37:02 | 显示全部楼层
谢谢!学习中……
发表于 2010-11-14 15:12:25 | 显示全部楼层
谢谢,www.qipei35.com 正需要,哎~
发表于 2010-11-14 23:34:28 | 显示全部楼层
也来学习一下~.
发表于 2010-11-15 16:53:06 | 显示全部楼层
看得晕晕的
发表于 2010-12-2 14:54:46 | 显示全部楼层
我不是 高手 学习了
发表于 2012-4-4 16:58:11 | 显示全部楼层
虽然没看懂,还是非常感谢分享,继续学习{:soso_e113:}
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

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

GMT+8, 2024-11-25 01:49

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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