首页 > 开发 > PHP > 正文

php实现递归抓取网页类实例

2024-05-04 23:33:55
字体:大 中 小
来源:转载
供稿:网友

这篇文章主要介绍了php实现递归抓取网页类,实例分析了php递归操作及网页抓取的技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php实现递归抓取网页类的方法。分享给大家供大家参考。具体如下:

 

 
  1. <?php 
  2. class crawler{ 
  3. private $_depth=5; 
  4. private $_urls=array(); 
  5. function extract_links($url) 
  6. { 
  7. if(!$this->_started){ 
  8. $this->_started=1; 
  9. $curr_depth=0; 
  10. }else{ 
  11. $curr_depth++; 
  12. } 
  13. if($curr_depth<$this->_depth) 
  14. { 
  15. $data=file_get_contents($url); 
  16. if(preg_match_all('/((?:http|https)://(?:www.)*(?:[a-zA-Z0-9_-]{1,15}.+[a-zA-Z0-9_]{1,}){1,}(?:[a-zA-Z0-9_/.-?&:%,!;]*))/',$data,$urls12)) 
  17. { 
  18. foreach($urls12[0] as $k=>$v){ 
  19. $check=get_headers($v,1); 
  20. if(strstr($v,$url) && $check[0]=='HTTP/1.1 200 OK' && !array_search($v,$this->_urls) && $curr_depth<$this->_depth){ 
  21. $this->_urls[]=$v; 
  22. $this->extract_links($v); 
  23. } 
  24. } 
  25. } 
  26. } 
  27. return $this->_urls; 
  28. } 
  29. } 
  30. ?> 

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

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