一次抓取的探究

<?php

   /**
        http://gd.rundejy.com/jq/16862193.aspx

        http://www.sojump.com/wjx/join/complete.aspx?....
        测试::::::

        http://gd.rundejy.com/wjx/join/complete.aspx?q=16862193&JoinID=353793885&jidx=

        <script>var msg='此测评报告已经被删除!';if(msg)alert(msg);window.location='/';</script>

        http://gd.rundejy.com/wjx/join/complete.aspx?q=16862193&JoinID=101054319539&jidx=445&tv=0&s=&rname=%E6%96%B9%E6%B3%95

        http://gd.rundejy.com/handler/processjq.ashx?submittype=1&curID=16862193&t=1507609003656&starttime=2017%2F10%2F10%2012%3A16%3A22&rn=1908806055.57509867&rname=%E5%B0%B1%E7%9C%8B%E8%A7%81


        http://gd.rundejy.com/wjx/join/complete.aspx?q=16862193&JoinID=101054409437&jidx=483&tv=0&s=&rname=%E5%B0%B1%E7%9C%8B%E8%A7%81

        http://gd.rundejy.com/wjx/previewanswer.aspx?activityid=16862193


        模拟利用框提交居然成功了:::

        代码内容:

        <html>
            <head>
                <title>测试网页</title>
                <meta charset="UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
            </head>
            <body>
                <div>
                    <form action="http://gd.rundejy.com/handler/processjq.ashx?submittype=1&curID=16862193&t=1507609003656&starttime=2017%2F10%2F10%2012%3A16%3A22&rn=1908806055.57509867&rname=%E5%B0%B1%E7%9C%8B%E8%A7%81" method="post">
                        <textarea name='submitdata'></textarea>
                        <input type='submit' value='提交'/>
                    </form>
                </div>
            </body>
        </html>

    填入内容:
        1$1<搜索}2$安徽-合肥}3$-2}4$-2}5$-2}6$-2}7$-2}8$-2}9$-2}10$-2}11$-2}12$-2}13$-2}14$-2}15$-2}16$-2}17$-2}18$-2}19$-2}20$-2}21$-2}22$-2
    
    最后得到结果:
        10〒/wjx/join/complete.aspx?q=16851695&JoinID=101054061596&jidx=269&tv=0 
    
    得到结果发现这里有ip限制 在程序里面需要做相应的修改::
    * 
    * 
    * 
    * //http://gd.rundejy.com/handler/processjq.ashx?submittype=1&curID=16862193&t=1507609003656&starttime=2017%2F10%2F10%2012%3A16%3A22&rn=1908806055.57509867&rname=%E5%B0%B1%E7%9C%8B%E8%A7%81
    
    
    $url = "http://gd.rundejy.com/handler/processjq.ashx?";
    
    //1507609003656&starttime=2017%2F10%2F10%2012%3A16%3A22&rn=1908806055.57509867&rname=%E5%B0%B1%E7%9C%8B%E8%A7%81
    
    $str = 'submittype=1&curID=16851695&t='.time().  mt_rand( 100, 999 );
    

    $str .= "&starttime=".urlencode(date('Y/m/d H:i:s'));

    $str .= "&rn=1908806055.57509867";

    $str .= "&rname=".urlencode("搜索1");

    $url = $url . $str;
    
    //echo $url;die;
    
   //http://gd.rundejy.com/handler/processjq.ashx?submittype=1&curID=16851695&t=15076176699241507609003656&starttime=2017%2F10%2F10+14%3A41%3A09&rn=1908806055.57509867&rname=%E6%90%9C%E7%B4%A21
    
    //$url = "http://gd.rundejy.com/handler/processjq.ashx?submittype=1&curID=16851695&t=1507609003656&starttime=2017%2F10%2F10%2012%3A16%3A22&rn=1908806055.57509867&rname=%E5%B0%B1%E7%9C%8B%E8%A7%81";
    
//    $post_data = array ("submitdata" =>'1$1<搜索1}2$安徽-合肥}3$-2}4$-2}5$-2}6$-2}7$-2}8$-2}9$-2}10$-2}11$-2}12$-2}13$-2}14$-2}15$-2}16$-2}17$-2}18$-2}19$-2}20$-2}21$-2}22$-2');
//    
//    $ch = curl_init();
//    
//    curl_setopt($ch, CURLOPT_URL, $url);
//    
//    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
//    curl_setopt( $ch, CURLOPT_REFERER, 'http://gd.rundejy.com/jq/16851695.aspx');
//    
//    curl_setopt( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5' );  
//    
//    curl_setopt($ch, CURLOPT_COOKIE , "UM_distinctid=15d5f2ab68a4a3-0bd1ac1a5d8f1b-323f5c0f-1fa400-15d5f2ab68caac; .ASPXANONYMOUS=LGXLP_p30wEkAAAAN2UzZTJmYjMtNzI0NC00MmUzLTlhMmQtY2I3ZjMxM2UzM2Mxv3NiE87i5jLW7SpNXfHyhAUA0d81; jac16863908=30281672; jac16862193=46693356; CNZZDATA4478442=cnzz_eid%3D118356653-1500538008-%26ntime%3D1507610490; LastActivityJoin=16851695,101054061596; SERVERID=37abe227599b880fdc0f5221d044b45c|1507616227|1507604581" );
//    // post数据
//    curl_setopt($ch, CURLOPT_POST, 1);
//    
//    // post的变量
//    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//    
//    $output = curl_exec($ch);
//    
//    curl_close($ch);
//    
//    //打印获得的数据
//    print_r($output);
    
    //约定前步正确结果:
    //$output = "10〒/wjx/join/complete.aspx?q=16851695&JoinID=101054136204&jidx=278&tv=0";
    
    $nexturl = explode('/',$output);
    
    unset($nexturl[0]);
    
    $nexturl = "http://gd.rundejy.com/".implode('/',$nexturl);
    
    echo $nexturl;

    //10〒/wjx/join/complete.aspx?q=16851695&JoinID=101054136204&jidx=278&tv=0
    
    //处理之后的
 
    //http://gd.rundejy.com/wjx/join/complete.aspx?q=16851695&JoinID=101054136204&jidx=278&tv=0
    
    **/

     //得到id:
    $lasturl = "http://gd.rundejy.com/jq/16724885.aspx";
    
    require_once './tool/QueryList.class.php';
    /*循环列表读取法*/
    set_time_limit(0);
    $file = fopen("Minot.txt", "r") or exit("Unable to open file!");

    while(!feof($file))
    {
        $url = trim(fgets($file));
        if($url != ''){ 
            show($url);//展示题目:
            answer($url); //展示答案:
        }
    }
    
    function answer($url){
        
        $id = getid($url);
        
        $nexturl = getnexturl($id);
        
        //divAnswer 里面的内容::
        
        
    }
    
    //http://gd.rundejy.com/jq/16669150.aspx
    header("Content-Type: text/html; charset=gbk");

    function show($url){
        $result = file_get_contents($url);
        if($result){
            $regtitle = array('title'=>array('title','html'));
            $matchestitle = new QueryList($result, $regtitle,'','GBK');
            $matchlisttitle = $matchestitle->jsonArr;
            echo toutf8($matchlisttitle[0]['title']);
            $reg = array("title" => array(".div_title_question", "html"),"content" => array(".div_table_radio_question", "text"));
            $matches = new QueryList($result, $reg,'','GBK');
            $matchlist = $matches->jsonArr;
            foreach($matchlist as $k=>$v){
                if(stripos($v['title'],'span') === false) echo toutf8($v['title'])."\r\n";
                echo toutf8($v['content'])."\r\n";
            }
            sleep(1);
        }
    }
  
    //一件神奇的事情发生了 .....
    function toutf8($str){ 
        return iconv('utf-8', 'latin1', $str);
    }
    
    
    
    //匹配出下一步要用到的id
    function getid($url){
        $str = str_replace( ".aspx", '', $url );
        $firstarr = explode('/',$str);
        return end($firstarr);
    }
    
    //匹配出下一步要用到的url
    function getnexturl($id){
        $url = "http://gd.rundejy.com/handler/processjq.ashx?";
        $str = 'submittype=1&curID='.$id.'&t='.time().  mt_rand( 100, 999 );
        $str .= "&starttime=".urlencode(date('Y/m/d H:i:s'));
        $str .= "&rn=1908806055.57509867";
        $str .= "&rname=".urlencode("搜索1");
        $url = $url . $str;
        $post_data = array ("submitdata" =>'1$1<搜索1}2$安徽-合肥}3$-2}4$-2}5$-2}6$-2}7$-2}8$-2}9$-2}10$-2}11$-2}12$-2}13$-2}14$-2}15$-2}16$-2}17$-2}18$-2}19$-2}20$-2}21$-2}22$-2');
        $ch = curl_init();  
        curl_setopt($ch, CURLOPT_URL, $url); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
        //curl_setopt( $ch, CURLOPT_REFERER, 'http://gd.rundejy.com/jq/16851695.aspx');
        curl_setopt( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5' );  
        curl_setopt($ch, CURLOPT_COOKIE , "UM_distinctid=15d5f2ab68a4a3-0bd1ac1a5d8f1b-323f5c0f-1fa400-15d5f2ab68caac; .ASPXANONYMOUS=LGXLP_p30wEkAAAAN2UzZTJmYjMtNzI0NC00MmUzLTlhMmQtY2I3ZjMxM2UzM2Mxv3NiE87i5jLW7SpNXfHyhAUA0d81; jac16863908=30281672; jac16862193=46693356; CNZZDATA4478442=cnzz_eid%3D118356653-1500538008-%26ntime%3D1507610490; LastActivityJoin=16851695,101054061596; SERVERID=37abe227599b880fdc0f5221d044b45c|1507616227|1507604581" );
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        $output = curl_exec($ch);
        curl_close($ch);
        $nexturl = explode('/',$output);
        unset($nexturl[0]);
        $nexturl = "http://gd.rundejy.com/".implode('/',$nexturl);
        return $nexturl;
    }
<?php

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
require_once './tool/QueryList.class.php';
$result = "
<html><div class='score-form__dec-answer' id='divAnswer'>    
    <div style='margin-bottom:10px;padding:5px 0;' topic='4'>
            <div>
                    2.下列xxxxxxx()  <span style='color:#ff941a;'>分值:xx</span>
            </div>
            <div style='margin:5px 0 5px 20px;'>
                    您的回答为:(空) ![错误](/images/newimg/score-form/achievement_cuo.png)<br/><font color='#4096ee'>正确答案为:</font>D.xxxxxxxxx
                    <div style='margin-top:5px;'>
                            <div style='float:left;'>
                                    <b>答案解析:</b>
                            </div>
                            <div style='float:left;color:#666666;width:80%;'>
                                    磺xxxxxxxxx
                            </div>
                            <div style='clear:both;'>
                            </div>
                    </div>
            </div>
    </div>
</div></html>";

$regtitle = array('title'=>array('#divAnswer','text'));
$matchestitle = new QueryList($result, $regtitle,'','GBK');
$matchlisttitle = $matchestitle->jsonArr;
var_dump($matchlisttitle);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,738评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,377评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,774评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,032评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,015评论 5 361
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,239评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,724评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,374评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,508评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,410评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,457评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,132评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,733评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,804评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,022评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,515评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,116评论 2 341

推荐阅读更多精彩内容