【问题标题】:Get al the emails from a whole website ( not only a page )从整个网站(不仅仅是一个页面)获取所有电子邮件
【发布时间】:2026-02-16 21:10:01
【问题描述】:

嘿,我正在尝试编写一个代码,通过浏览所有链接并检查是否存在正则表达式匹配,自动从网站中提取所有电子邮件,但我无法弄清楚这就是我得到的.

function getEmails() {

var search_in = document.body.innerHTML;
string_context = search_in.toString();

array_mails = string_context.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
return array_mails;

}

【问题讨论】:

  • 我不知道您对我们有什么期望。你的问题在哪里?我们需要的不仅仅是一个函数,还需要显示带有电子邮件列表的示例代码,以便我们知道它应该搜索什么。
  • 您的问题似乎很宽泛...在高层次上,您需要阅读第一页、存储链接并获取所有电子邮件。然后遍历您存储的链接以发现更多链接和电子邮件。但是,您可能希望将您存储的链接限制为与您的清理站点相关的链接。如果不这样做,您最终可能会尝试删除一些您完全不感兴趣的页面。
  • 是的,我需要 wesbites 本身的其他页面的链接......所以你知道吗?
  • 这个想法是我以前的帖子。阅读第一页,存储链接,获取电子邮件。然后遍历存储的链接以发现更多链接和电子邮件。将存储的链接限制为预定义的链接模式,这样您就不会最终清理一些您不想要的站点。由于这个想法是递归的,它涵盖了你的所有基础。
  • 您已经有一些东西可以将电子邮件移出页面。这是SO post that discusses grabbing links

标签: javascript email web-scraping phantomjs


【解决方案1】:

您必须创建一个循环,该循环将打开主页上显示的每个链接创建ajax 请求,并为每个打开的页面使用您的function 从中获取电子邮件,push 将它们发送给一些array .然后你将有另一个包含所有结果的数组。您还需要检查您的循环是否不是无限的。将需要存储所有已使用的链接。

【讨论】:

    最近更新 更多