首页 > 开发 > PHP > 正文

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

2024-05-04 23:33:46
字体:
来源:转载
供稿:网友

这篇文章主要介绍了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.vevb.com); 
  16. //获取武林网在百度中的收录数量 
  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 = "http://www.vevb.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.vevb.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> 

希望本文所述对大家的php程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表