zhouchanglin 发表于 2010-10-25 19:34:12

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

还不太会采post的朋友看看把,高手就不必了

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

以这个查询站为例,http://pharm.ncmi.cn/dataContent/dataSearch.do?method=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.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.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


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

Quella 发表于 2010-11-7 12:14:31

{:3_145:}沙发{:3_152:}

fangkui3 发表于 2010-11-8 08:53:43

好东西。正在研究post

talang 发表于 2010-11-11 00:37:02

谢谢!学习中……

being 发表于 2010-11-14 15:12:25

谢谢,www.qipei35.com 正需要,哎~

mydalin 发表于 2010-11-14 23:34:28

也来学习一下~.

gomonday 发表于 2010-11-15 16:53:06

看得晕晕的{:1_201:}

justinhotban 发表于 2010-12-2 14:54:46

我不是 高手 学习了

zdh_zg 发表于 2012-4-4 16:58:11

虽然没看懂,还是非常感谢分享,继续学习{:soso_e113:}
页: [1]
查看完整版本: 数据查询累网站的采集方法post