zzh1984 发表于 2011-2-20 16:15:16

http://news.chemnet.com/
按标题搜索后的内容如何采集呀

gapo83 发表于 2011-2-20 16:33:38

本帖最后由 gapo83 于 2011-2-20 16:47 编辑

http://searchjob.chinahr.com/ 按关键字查询后,分页数据如何采集?抓包没有找到规律,谢谢!
补充:页面内容里有些数据是从其他网页里提取的,这样的怎么采集?

zhouchanglin 发表于 2011-2-21 13:08:40

回复 51# zzh1984

你随便搜个词,点第2页就出来列表地址了http://news.chemnet.com/bin/tag.cgi?p=3&t=&f=search&c=&c3=行业动态&c4=&c6=&c66=&terms=&begin_date=2011-02-11&end_date=2011-02-21

参数意识:p----当前页,修改这个就行了
c3--------------分类

begin_date-----------开始时间

end_date--------结束时间

源码里有内容页连接地址,不是post的,普通的分页方式,不知道你哪里有问题

zhouchanglin 发表于 2011-2-21 14:53:48

本帖最后由 zhouchanglin 于 2011-2-21 14:57 编辑

回复 52# gapo83

我分析不出怎样提交的,不过抓包是可以找到规律的,只要把参数urlKey的值用base64解码,就可以看出规律了,这个参数是核心,而且post地址看明白后就变的简单了

我搜索的是职位关键字是:计算机

我抓包获得第2页的post数据

post地址:POST /GetSearchResult.awp?jtq=onlyrecord&urlKey=aXNJbnRlclZpZXclM0QxJTI2SXNNb2RlbCUzRGZhbHNlJTI2ZnJvbSUzRHNlYXJjaCUyNnByaiUzRHF1aWNrJTI2cG9zaXRpb25OYW1lJTNEJTI1dThiYTElMjV1N2I5NyUyNXU2NzNhJTI2c2olM0QxJTI2Y3VyUGFnZSUzRDIlMjZwYWdlU2l6ZSUzRDIwJTI2cmVjb3JkQ291bnQlM0Q2MjEyOSUyNm9yZGVyRmllbGQlM0RyZWxhdGlvbiUyNm9yZGVyJTNEREVTQw==&ProjectID=3&IsModel=false&jtr=49825721&jtrr= post参数:jtUrl=document.location.href&hidRnd=tmpJtRefRnd第3页的post数据:
post地址:POST /GetSearchResult.awp?jtq=onlyrecord&urlKey=aXNJbnRlclZpZXclM0QxJTI2SXNNb2RlbCUzRGZhbHNlJTI2ZnJvbSUzRHNlYXJjaCUyNnByaiUzRHF1aWNrJTI2cG9zaXRpb25OYW1lJTNEJTI1dThiYTElMjV1N2I5NyUyNXU2NzNhJTI2c2olM0QxJTI2Y3VyUGFnZSUzRDMlMjZwYWdlU2l6ZSUzRDIwJTI2cmVjb3JkQ291bnQlM0QyMDAwJTI2b3JkZXJGaWVsZCUzRHJlbGF0aW9uJTI2b3JkZXIlM0RERVND&ProjectID=3&IsModel=false&jtr=59428173&jtrr=post参数:jtUrl=document.location.href&hidRnd=tmpJtRefRnd上面2个地址和参数现在看不到代表分页的参数,其他的参数的意义也很难知道,其实它把最重要的部分urlKey参数用base64编码加密了,所以只要找个在线base64解码的网站http://tools.jb51.net/tools/base64_decode-utf8.php,把urlKey参数部分的支付解码,就可以还原成最重要的查询信息的代码

下面是第2页base64解码后的urlKey=isInterView%3D1%26IsModel%3Dfalse%26from%3Dsearch%26prj%3Dquick%26positionName%3D%25u8ba1%25u7b97%25u673a%26sj%3D1%26curPage%3D2%26pageSize%3D20%26recordCount%3D62129%26orderField%3Drelation%26order%3DDESC这个后面的支付依然有编码,还看的不直观,是UrlDecode编码的,在线UrlDecode解码的网站http://tool.chinaz.com/Tools/URLEncode.aspx,
UrlDecode解码后是isInterView=1&IsModel=false&from=search&prj=quick&positionName=%u8ba1%u7b97%u673a&sj=1&curPage=2&pageSize=20&recordCount=62129&orderField=relation&order=DESC这些代码看上去就十分清楚了,只是positionName参数后面的有编码,这也有在线解码的,解码后是计算机,我搜索的职位关键字就是计算机,代表搜索职位

同样第3页的post地址解码后是urlKey=isInterView=1&IsModel=false&from=search&prj=quick&positionName=%u8ba1%u7b97%u673a&sj=1&curPage=3&pageSize=20&recordCount=2000&orderField=relation&order=DESC从2,3页的urlKey参数可以知道这里的curPage参数代表分页,其他的都没有变化,这样每次添加地址时可以只修改urlKey部分中的curPage,把isInterView=1&IsModel=false&from=search&prj=quick&positionName=%u8ba1%u7b97%u673a&sj=1&curPage=代表分页&pageSize=20&recordCount=2000&orderField=relation&order=DESC到http://tools.jb51.net/tools/base64_decode-utf8.php编码,然后把处理后的字符串组合成正确的post地址


这样第4页post地址,urlKey参数:isInterView=1&IsModel=false&from=search&prj=quick&positionName=%u8ba1%u7b97%u673a&sj=1&curPage=4&pageSize=20&recordCount=2000&orderField=relation&order=DESC,

base64编码后:aXNJbnRlclZpZXc9MSZJc01vZGVsPWZhbHNlJmZyb209c2VhcmNoJnByaj1xdWljayZwb3NpdGlvbk5hbWU96K6h566X5py6JnNqPTEmY3VyUGFnZT00JnBhZ2VTaXplPTIwJnJlY29yZENvdW50PTIwMDAmb3JkZXJGaWVsZD1yZWxhdGlvbiZvcmRlcj1ERVND

这样第4页post地址会是http://searchjob.chinahr.com/GetSearchResult.awp?jtq=onlyrecord&urlKey=aXNJbnRlclZpZXc9MSZJc01vZGVsPWZhbHNlJmZyb209c2VhcmNoJnByaj1xdWljayZwb3NpdGlvbk5hbWU9JXU4YmExJXU3Yjk3JXU2NzNhJnNqPTEmY3VyUGFnZT00JnBhZ2VTaXplPTIwJnJlY29yZENvdW50PTIwMDAmb3JkZXJGaWVsZD1yZWxhdGlvbiZvcmRlcj1ERVND

ps:后面的&ProjectID=3&IsModel=false&jtr=49825721&jtrr=参数不要也无影响,这里我没有加

第5页是isInterView=1&IsModel=false&from=search&prj=quick&positionName=%u8ba1%u7b97%u673a&sj=1&curPage=5&pageSize=20&recordCount=2000&orderField=relation&order=DESC

base64编码:aXNJbnRlclZpZXc9MSZJc01vZGVsPWZhbHNlJmZyb209c2VhcmNoJnByaj1xdWljayZwb3NpdGlvbk5hbWU9JXU4YmExJXU3Yjk3JXU2NzNhJnNqPTEmY3VyUGFnZT01JnBhZ2VTaXplPTIwJnJlY29yZENvdW50PTIwMDAmb3JkZXJGaWVsZD1yZWxhdGlvbiZvcmRlcj1ERVND

这样第5页post地址会是http://searchjob.chinahr.com/GetSearchResult.awp?jtq=onlyrecord&urlKey=aXNJbnRlclZpZXc9MSZJc01vZGVsPWZhbHNlJmZyb209c2VhcmNoJnByaj1xdWljayZwb3NpdGlvbk5hbWU9JXU4YmExJXU3Yjk3JXU2NzNhJnNqPTEmY3VyUGFnZT01JnBhZ2VTaXplPTIwJnJlY29yZENvdW50PTIwMDAmb3JkZXJGaWVsZD1yZWxhdGlvbiZvcmRlcj1ERVND

经测试数据相符,麻烦的是要一页页的编码,添加地址

being 发表于 2011-2-21 17:35:52

回复 47# zhouchanglin


    谢谢。我来学习下

scaur 发表于 2011-2-21 17:41:19

请问这个怎么弄?谢谢。http://www.coach200.com/cates/266.html

zhouchanglin 发表于 2011-2-21 21:11:19

本帖最后由 zhouchanglin 于 2011-2-22 12:15 编辑

回复 56# scaur










把网页全部保存在product_all.js文件里是分页函数,找到$("#Pagination").pagination(recordcount, {callback: pageselectCallback, current_page:0, items_per_page:20});
       
});

paginatio.js 文件有jQuery.fn.pagination = function(maxentries, opts){},maxentries总数量,opts选项

都是通过这个函数控制的,
回调函数callback: pageselectCallbackfunction pageselectCallback(page_index,jq){
                if(!initLoad){
                        //保存当前浏览页
                        $("#__page_current_index").val(page_index);
                        LoadData(page_index);--------------------加载第几页数据
                }else{
                        initLoad = false;------------------是否第一次加载
                }
        }
page_index------页码索引
       
        function LoadData(page_index, reload){
                page_index = parseInt(page_index) + 1;

                $.ajax({
                        url:"/product_by_cate_all_ajax.php",----------------Ajax请求地址
                        type:"post",
                        data:{pageindex:page_index, pagesize:20, cateid:$("#__cate_id").val()},--------------------参数数据 pagesize每页数量
cateid物品分类id

                        success:function(data){
                                $("#tbl_list").html(data);
                                initEvent();
                        }
                });
        }
这个网站必须用post方式请求才可以,get连接参数提交的地址不行
post地址:http://www.coach200.com/product_by_cate_all_ajax.php
post数据:pageindex=分页&pagesize=20&cateid=266

scaur 发表于 2011-2-22 09:02:27

哥,太感谢你了。慢慢看下内容消化下,每个页面都下载收藏。

scaur 发表于 2011-2-22 09:45:17

我这边打开http://www.coach200.com/product_by_cate_all_ajax.php?pageindex=8&pagesize=20&cateid=266页面里面采集到的都是同一网址?

zhouchanglin 发表于 2011-2-22 11:35:20

回复 59# scaur


   我 没有做对,看来还有其他地址,这个网站jq的比较复杂
页: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15
查看完整版本: js post网站专区