【问题标题】:How to get an email adress from downloaded html file?如何从下载的 html 文件中获取电子邮件地址?
【发布时间】:2017-06-20 18:15:57
【问题描述】:

我正在尝试通过 R 抓取心理治疗师个人资料的网页。

我的目标是获取显示为链接的治疗师的电子邮件。 页面示例:http://academyofct.site-ym.com/members/?id=44410428

浏览器将这段代码显示为:

<a href="mailto:abonfil@cogbtherapy.com">abonfil@cogbtherapy.com</a>

但是当我下载页面(通过 Ctrl+S)进行解析和获取电子邮件地址时,这部分代码会从 html 文件中消失。

谁能解释一下,有什么问题吗?以及如何获取提取电子邮件的完整网页?

谢谢!

【问题讨论】:

    标签: html web-scraping html-parsing


    【解决方案1】:

    该元素正在从客户端 JavaScript 添加到 DOM;请参阅这部分源代码:

    <script language="JavaScript"><!--
        var strEmail = CharShiftDecrypt('ghutlor@iumhznkxgvE.ius', 6, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789');
        document.write('<a href="mailto:'+ strEmail + '">'+ strEmail + '</a><br>');
    //--></script>
    

    获取该内容的唯一方法是首先像浏览器一样执行 JavaScript。因此,除非您使用执行该 JavaScript 的处理器,否则您将无法抓取它。

    你需要做的是要么使用 Selenium 和/或 WebDriver,要么使用基于 PhantomJS 或类似的东西。所有这些都会导致运行无头浏览器引擎,该引擎执行 JavaScript 并为您提供与自己在浏览器中导航到站点时相同的 DOM。

    以下是一些可用选项的操作指南:

    【讨论】:

    • 所以,据我了解,我需要模拟浏览器工作或将一些 JavaScript 需要嵌入到我的脚本中以进行抓取。对吗?
    • 对。有关一些可用选项的一些操作指南,请参阅刚刚添加到答案末尾的更新
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多