使用 nokogiri 或 mechanize 来解析使用 JavaScript 呈现的电子邮件



我想解析以这种方式呈现的电子邮件地址:

<p class="email">
"Email: "
<script type="text/javascript"><!--
 document.write('f'+'o'+'<wbr/>@'+'e'+'x'+'p'+'.'+'c'+'o'); //-->
</script>
</p>

我正在使用以下代码:

task import_emails: :environment do
  require 'mechanize'
  agent = Mechanize.new
  agent.get("URL")
  agent.page.search(".email").each do |email|
    puts email.text.strip
  end
end

它只返回"电子邮件:"。

Nokogiri/Mechanize 不处理 JavaScript,因此您document.write添加的电子邮件文本对他们来说是不可见的,这就是为什么您只能收到Email:

如果要选择使用 JavaScript 呈现的元素或文本,则必须考虑实际驱动浏览器的工具,以便使用 JavaScript 呈现页面。一个例子是瓦蒂尔。另外,看看水豚和水豚网络套件。

有关更多详细信息,请参阅"如何使用 Mechanize 处理 JavaScript?"。

相关内容

  • 没有找到相关文章

最新更新