php结合正则批量抓取网页中邮箱地址

目前在做一个项目,需要提取一个小型网站的所有邮箱地址,度娘了一下,方法还挺多,这里给大家总结几个比较实用的,分享给大家。

php如何抓取网页中邮箱地址,下面我就给大家分享一个用php抓取网页中电子邮箱的实例。

  1. <?php
  2. $url='https://www.phpfensi.com'; //要采集的网址
  3. $content=file_get_contents($url);
  4. //echo $content;
  5. function getEmail($str) {
  6. //$pattern = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";
  7. $pattern = "/([a-z0-9\-_\.]+@[a-z0-9]+\.[a-z0-9\-_\.]+)/";
  8. preg_match_all($pattern,$str,$emailArr);
  9. return $emailArr[0];
  10. }
  11. print_r( getEmail($content));
  12. ?>

方法2:

  1. <?php
  2. $url='https://www.phpfensi.com'; //当页已留邮箱
  3. $content=file_get_contents($url); //获取页面内容
  4. function getEmail($str) { //匹配邮箱内容
  5. $pattern = "/([a-z0-9\-_\.]+@[a-z0-9]+\.[a-z0-9\-_\.]+)/";
  6. preg_match_all($pattern,$str,$emailArr);
  7. return $emailArr[0];
  8. }
  9. print_r( getEmail($content));
  10. ?>