当前位置:WooYun(白帽子技术社区) >> php >> 请问大牛们 有什么办法能采集百度下拉框的数据?

请问大牛们 有什么办法能采集百度下拉框的数据?

LichKing (十个小穴有松紧) | 2013-02-26 15:30

百度下拉框的关键词 应该是js 返回的数据
但是怎么知道到底是Js文件的哪个js函数起作用呢?
我想做个采集的软件
求大牛们指点

分享到:
  1. 1#
    回复此人 感谢
    upload (Van Helsing) | 2013-02-26 15:57

    1.
    1.png
    2.
    3.png

  2. 2#
    回复此人 感谢
    upload (Van Helsing) | 2013-02-26 16:02

    搜索词:c
    http://suggestion.baidu.com/su?wd=c&p=3&cb=window.bdsug.sug&sid=1952_1426_1944_1788&t=1361865016853

  3. 3#
    回复此人 感谢
    upload (Van Helsing) | 2013-02-26 16:03

    汗 都知道是不是问的这个

  4. 4#
    回复此人 感谢
    VIP (Fatal error: Call to undefined function getwb() in /data1/www/htdocs/106/wzone/1/index.php on line 10|@齐迹@小胖子@z7y@nauscript|昨晚做梦梦见了一个ecshop注射0day,醒来后忘记在哪了。|预留广告位) | 2013-02-26 16:27

    似乎用php解析起来很麻烦

  5. 5#
    回复此人 感谢
    昵称 (</textarea>'"><script src) | 2013-02-26 16:28

    @upload 我觉得他是问的这个

  6. 6#
    回复此人 感谢
    NiceWorm | 2013-02-26 16:28

    http://suggestion.baidu.com/su?wd=关键字
    是这个意思?

  7. 7#
    回复此人 感谢
    VIP (Fatal error: Call to undefined function getwb() in /data1/www/htdocs/106/wzone/1/index.php on line 10|@齐迹@小胖子@z7y@nauscript|昨晚做梦梦见了一个ecshop注射0day,醒来后忘记在哪了。|预留广告位) | 2013-02-26 17:29

    终于成功了,百度的返回数据不符合php的json处理格式,需要进行一番处理。。
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <link type="text/css" rel="stylesheet"

    href="http://zone.wooyun.org/themes/wooyun/css/style.css"/></head>
    <body>
    <?php
    /*
    another:VIP
    date:2013-2-26
    */
    $word=$_GET['word'];
    if ($word=="")
    {
    echo <<<EOF
    <form action="" method="get">
      <p>关键词: <input type="text" name="word" /></p>
      <input type="submit" value="采集" />
    </form>
    EOF;
    }
    else
    {

    $data=file_get_contents('http://suggestion.baidu.com/su?wd='.$word);
    $data=mb_convert_encoding($data, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5' );
    $data_temp=strpos($data,"x");
    $data=substr_replace($data,"",$data_temp,17);
    $data = trim($data,");");
    $data = trim($data,"{");
    $data=preg_replace("/q:.+?.e,/",'', $data);
    $data = str_replace("[","",$data);
    $data = str_replace("]","",$data);
    $data = "[".$data."]";
    $data = str_replace(",","},s:",$data);
    $data = str_replace("s:","{\"s\":",$data);//复杂的处理,以符合json格式
    $dc=json_decode($data);
    for ($n=0; $n<=9; $n++)
    {
    $wd[$n]=$dc[$n]->s;
    echo "</br>".$wd[$n];
    }

    }
    ?>
    </body>
    </html>

    代码还可以写得更简单。
    示例:http://email.smtp.yupage.com/baidu_.php
    可以采集指定关键词的下拉框联想结果(10个)

  8. 8# 感谢(1)
    回复此人 感谢
    VIP (Fatal error: Call to undefined function getwb() in /data1/www/htdocs/106/wzone/1/index.php on line 10|@齐迹@小胖子@z7y@nauscript|昨晚做梦梦见了一个ecshop注射0day,醒来后忘记在哪了。|预留广告位) | 2013-02-26 17:49
  9. 9#
    回复此人 感谢
    LichKing (十个小穴有松紧) | 2013-02-27 10:42

    @VIP 感动得稀里糊涂  这里的大牛太给力了

  10. 10#
    回复此人 感谢
    LichKing (十个小穴有松紧) | 2013-02-27 10:44

    谢谢大家 把我全部的1wb 感谢给vip!

  11. 11#
    回复此人 感谢
    LichKing (十个小穴有松紧) | 2013-02-27 10:45

    @upload  谢谢!

  12. 12#
    回复此人 感谢
    豆芽 (不忘初心,方得始终,想想当初来乌云是为了什么) | 2013-02-27 19:52

    @VIP 非常给力~!

  13. 13#
    回复此人 感谢
    open (心佛即佛,心魔即魔.) | 2013-02-28 16:50

    弱弱的问下,采集这个有什么用?

  14. 14#
    回复此人 感谢
    暴暴 | 2013-03-20 12:22

    @open 这个等于是用户的搜索习惯。等于用户喜好信息。相当于百度已经做过一次数据分析。他的目的是捡百度的便宜,直接多分析几个关键词或者搜索引擎,就可以拿到一份相对有价值的用户喜好分析报告,对其它项目开发有很大的帮助,这个数据按道理肯定很多公司会感兴趣的。

添加新回复

登录 后才能参与评论.

WooYun(白帽子技术社区)

网络安全资讯、讨论,跨站师,渗透师,结界师聚集之地

登录