【问题标题】:Find email address from website url [closed]从网站 url 中查找电子邮件地址 [关闭]
【发布时间】:2017-02-05 01:09:00
【问题描述】:

我想从网站 url 链接中找到网站电子邮件地址(如 name@example.com)。
那么,是否可以从网站 url 中找到电子邮件地址?
如果是的话,请分享如何实现。
不需要语言。

在我看来,
如果我们使用 CURL 从网站 url 读取内容,并且
使用正则表达式从他们那里找到电子邮件地址。
有可能吗?

查找以下代码,用于使用 CURL 从网站 url 读取页面内容:

<?php
$url = 'yoururl';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$data = curl_exec($curl);
curl_close($curl);

然后使用 $data 字符串中的正则表达式查找电子邮件地址。

有可能吗?

【问题讨论】:

标签: php curl


【解决方案1】:

从技术上讲,您可以通过查询公共 WHOIS 信息(可以通过查询 API 来完成)从域中获取电子邮件地址,但公开的电子邮件地址很少是公司的真实电子邮件地址,而是用于报告垃圾邮件或技术请求的邮箱.

http://network-tools.com/default.asp?prog=network&host=www.google.com

如何返回 JSON 输出的一些示例代码:

<?php

function getIP() {

   if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
     $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
             $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
     $ip = $_SERVER['REMOTE_ADDR'];
    }

    return chkIP($ip);

}

function chkIP($ip) {

     $dirtydomain = gethostbyaddr($ip);
     preg_match("/((\w*)\.+(\w{2})\.+(\w{2})$)|((\w*)\.+(\w{3})$)/", $dirtydomain, $output_array);
     $cmd = 'whois ' . $output_array[0];
     $data = shell_exec($cmd);

     return getEmail($data,$output_array[0]);

}


function getEmail($data,$domain) {

    $array = preg_split('/( )|(\n)/',$data); //DATA from WHOIS

        foreach ($array as $value) {

            if (strpos($value, '@') == TRUE) {

                    $emailArray[] = $value;

            } 
        }

        return outputArray($emailArray,$domain);
}



function outputArray($emailArray, $domain) {

        if (count($emailArray) < 1) {

           return json_encode("No Email Address Found for " . $domain);

        } else {

           return json_encode($emailArray);

        }

}

getIP(); //Will Return JSON Output


?>

【讨论】:

    【解决方案2】:

    我头顶上的一个简单的正则表达式。

    preg_match_all("/([a-z0-9\.]{1,50}@[a-z0-9]{1,50}\.[a-z]{1,5})/ims",$data,$matches)
    

    【讨论】:

    • 但是是否可以使用 CURL 读取所有 domian 网页?
    • 什么意思?你想蜘蛛整个域?那是一个有点棘手的任务,也许这样的事情是最好的选择:emailextractorpro.com
    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    相关资源
    最近更新 更多