百度的实时推送

c
@Ta 2015-04-30 4643点击
今天无意登录站长平台发现有权限了,有没有现成的推送源码啊?

我是菜鸟

我已经有了sitemaphttp://sjdang.com/sitemap.xml

也就是说,怎么单独把sitemap里所有链接提取出来呢?
回复列表(15|显示机器人聊天)
  • @Ta / 2015-04-30 / /
    PHP有操作xml的函数
  • c
    @Ta / 2015-04-30 / /
    @读书顶个鸟用,我看看,多谢蒋兄
  • @Ta / 2015-04-30 / /
    或者用正则也是可以的
  • @Ta / 2015-04-30 / /
    @c,正则可以,我随便写的 去看看
    这里是写成可以点击的连接,居然有95个。TEST
  • c
    @Ta / 2015-04-30 / /
    <? php
       $baidu_ping_url = 'data.zz.baidu.com';
             $get = '/urls?site=sjdang.com&token=MM';
             $port=80;
             if ( ( $io = fsockopen( $baidu_ping_url, $port, $errno, $errstr, 50 ) ) !== false )  {
                 $send = "POST $get HTTP/1.1"."rn";
                 $send .= 'Accept: */*'."rn";
                 $send .= 'Cache-Control: no-cache'."rn";
      
               $send .= 'Host: '.$baidu_ping_url."rn";
               $send .= 'Pragma: no-cache'."rn";
               //$send .= "Referer: http://".$url.$get."rn";
               //$send .= 'User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)'."rn";
                
               $xml = file_get_contents("http://sjdang.com/sitemap.xml");
               foreach($urls as $url){
                   $xml .= '<url>';
                   $xml .= '<loc><![CDATA['.$url.']]></loc>';
                   $xml .= '<lastmod>'.date('Y-m-d').'</lastmod>';
                   $xml .= '<changefreq>monthly</changefreq>';
                   $xml .= '<priority>0.8</priority>';
                   $xml .= '</url>';
               }
               $xml .= '</urlset>';
               $send .= 'Content-Length:'.strlen($xml)."rn";
               $send .= "Connection: Closernrn";
               $send .= $xml."rn";
               fputs ( $io, $send );
               $return = '';
               while ( ! feof ( $io ) )
               {
                   $return .= fread ( $io, 4096 );
               }
               return $return;
           }else{
               return false;
           }
       
    ?>
  • c
    @Ta / 2015-04-30 / /
    @雨伤@读书顶个鸟用,百度出了一个,改了下打开居然语法错误,用七朵云打开的。
  • @Ta / 2015-04-30 / /
    @c,把错误贴出来呗?
  • c
    @Ta / 2015-04-30 / /
    @读书顶个鸟用,Parse error: syntax error, unexpected '$baidu_ping_url' (T_VARIABLE) in/home/xinianbt/public_html/xml.phpon line2   我发现我每次都要语法错误…看来我果真是个小白…
  • c
    @Ta / 2015-04-30 / /
    @读书顶个鸟用,想了下,与其推送它不如加在发起时的时候直接post过去…
  • @Ta / 2015-04-30 / /
    @c
    <?php
    $url = 'http://sjdang.com/sitemap.xml';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    $con = curl_exec($ch);
    curl_close($ch);
    preg_match_all('/<loc>(.*)<\/loc>/',$con,$result);
    $num = count($result[1]);
    $i=0;
    while($i <$num){
     
    echo <<<html
    <a href = "{$result[1][$i]}">地址{$i}</a><hr />
    html;
    $i ++;
    }
    
    
    ?>
    你参考下
  • @Ta / 2015-04-30 / /
    @c,<?php那问号后有空格
  • c
    @Ta / 2015-04-30 / /
    @雨伤,哦哦,学习了
  • c
    @Ta / 2015-04-30 / /
    @读书顶个鸟用,这也算错误吗…这坑人的语法
  • c
    @Ta / 2015-04-30 / /
    @读书顶个鸟用,我还是潜修下再搞,就说以前为何经常这样…
添加新回复
回复需要登录