当前位置:首页 > PHP教程 > php应用 > 列表

php获取百度收录、百度热词及百度快照的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-19 20:08:54 浏览: 评论:0 

这篇文章主要介绍了php获取百度收录、百度热词及百度快照的方法,实例分析了php抓取百度页面及对应字符串分析的技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php获取百度收录、百度热词及百度快照的方法,分享给大家供大家参考,具体如下:

获取百度收录:

  1. <?php 
  2. /* 
  3. 抓取百度收录代码 
  4. */ 
  5. function baidu($s){ 
  6.  $baidu="http://www.baidu.com/s?wd=site%3A".$s
  7.  $site=file_get_contents($baidu); 
  8.  //$site=iconv("gb2312", "UTF-8", $site); 
  9.  ereg("找到相关网页(.*)篇,"$site,$count); 
  10.  $count=str_replace("找到相关网页","",$count); 
  11.  $count=str_replace("篇,","",$count); 
  12.  $count=str_replace("约","",$count); 
  13.  $count=str_replace(",","",$count); 
  14.  return $count[0]; 
  15. echo baidu(www.phpfensi.com); 
  16.  //获取php粉丝网在百度中的收录数量 
  17. ?> 

获取百度的热词

  1. <?php  
  2. /**  
  3. * @return array 返回百度的热词数据(数组返回)  
  4. */ 
  5. function getBaiduHotKeyWord() 
  6. $templateRss = file_get_contents('http://top.baidu.com/rss_xml.php?p=top10'); 
  7. if (preg_match('/<table>(.*)<\/table>/is'$templateRss$_description)) { 
  8. $templateRss = $_description [0]; 
  9. $templateRss = str_replace("&""&"$templateRss); 
  10. $templateRss = "<?xml version=1.0 encoding=GBK?>" . $templateRss
  11. $xml = @simplexml_load_String($templateRss); 
  12. foreach ($xml->tbody->tr as $temp) { 
  13. if (!emptyempty ($temp->td->a)) { 
  14. $keyArray [] = trim(($temp->td->a)); 
  15. return $keyArray
  16. print_r(getBaiduHotKeyWord()); 

这是在网上找的 稍微修改了下 将下面代码写入php文件

百度收录和百度快照时间

  1. <?php 
  2.  $domain = "https://www.phpfensi.com/"; *欲查询的域名*/ 
  3.  $site_url = 'http://www.baidu.com/s?wd=site%3A'
  4.  $all = $site_url.$domain/*域名所有收录的网址*/ 
  5.  $today = $all.'&lm=1'/*域名今日收录的网址*/ 
  6.  $utf_pattern = "/找到相关结果数(.*)个/"
  7.  $kz_pattern = "/<span class="g">(.*)</span>/"/*用以匹配快照日期的字符串*/ 
  8.  $times = "/d{4}-d{1,2}-d{1,2}/"/*匹配快照日期的正则表达式,如:2011-8-4*/ 
  9.  $s0 = @file_get_contents($all); /*将site:www.phpfensi.com的网页置入$s0字符串中*/ 
  10.  $s1 = @file_get_contents($today); 
  11.  preg_match($utf_pattern,$s0,$all_num); /*匹配"找到相关结果数*个"*/ 
  12.  preg_match($utf_pattern,$s1,$today_num); 
  13.  preg_match($kz_pattern,$s0,$temp); 
  14.  preg_match($times,$temp[0],$screenshot); 
  15.  if($all_num[1] == ""
  16.   $all_num[1] = 0; 
  17.  if($today_num[1] == ""
  18.   $today_num[1] = 0; 
  19.  if($screenshot[0] == ""
  20.   $screenshot[0] = "暂无快照"
  21. ?> 
  22. <html> 
  23.  <head> 
  24.  <title>Test</title> 
  25.  </head> 
  26. <body> 
  27.  <table> 
  28.  <tr> 
  29.   <td>日期</td><td>百度收录</td><td>百度今日收录</td><td>百度快照日期</td> 
  30.  </tr> 
  31.  <tr> 
  32.   <td><?php echo date('m月d日G时');?> </td><td> 
  33.   <?php echo $all_num[1]; ?></td><td> 
  34.   <?php echo $today_num[1]; ?></td><td> 
  35.   <?php echo $screenshot[0]; ?></td> 
  36.  </tr> 
  37.  </table> 
  38.  <p>百度收录:<a href="<?php echo $all; ?>" target="_blank"
  39.  <?php echo $all_num[1]; ?></a></p> 
  40.  <p>百度今日收录:<a href="<?php echo $today; ?>" target="_blank"
  41.  <?php echo $today_num[1]; ?></a></p> 
  42.  <p>百度快照日期:<a href="<?php echo $all; ?>"
  43.  <?php echo $screenshot[0]; ?></a></p> 
  44. </body> 
  45. </html>

Tags: php获取百度收录

分享到: