如何在客户端使用javascript提取文本

时间:2014-06-28 08:02:31

标签: java javascript php xpath web-scraping

我想开发一个脚本,当他输入我们网站的网址时,会从客户端提取某些信息。

对于exmaple-:如果他输入网址www.example.com,代码会从客户端发起并提取某些信息。对于每个用户,例如facebook email等,它会有所不同。

所以我看着这个选项并认为这几乎是不可能的,除非我有一些javascript代码,无论何时访问该网站都会在客户端执行。我也在寻找像Jsoup,selenium这样的库等等,但我想它们只是在本地执行,并没有解决我的目的。

我想要提取的文本是在iframe中,还是在表格中。因此可以编写我在index.php页面中包含的代码(javascript或其他内容),并在客户端站点上执行,提取信息并将结果存储在数据库中?

情况是,如果用户已经在同一浏览器上登录到facebook,那么当他访问我的网站时,它会自动显示他与facebook相关的电子邮件ID。所以我想提取该电子邮件ID。有什么建议吗?

修改 - >>

我正在尝试使用以下代码移动到框架然后获取内容但它返回空内容文档。

var iframe = document.evaluate('//iframe[contains(@src, \"//my.leadpages.net/forms/5620062778032128/5654100301578240/5645914630782976/html/?lp-in-iframe=1\")]',document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).contentDocument;alert(iframe);

另外,如果你可以指导我如何移动到框架然后通过nodes获取它的内容.Iframe没有id,名称等所以我使用了xpath方式。它正在检测帧作为结果XpathResult但我是不确定如何进入它然后提取各种节点的文本。这必须是在Javascript。

3 个答案:

答案 0 :(得分:0)

我非常确定浏览器不会让您访问iframe的内容。 还有这件事,你试图让我听起来有点阴暗。您为什么要获取用户未明确提供给您的数据?

答案 1 :(得分:0)

嗯,为了做一些与每个用户相关的事情,你需要在你的服务器端拥有一个会员系统;换句话说,您的用户必须登录。这是一个复杂的系统而不是一小段代码,但在伪代码中它可能看起来如下

// on you server side, using PHP, C#, Java ...
if(is_current_user_logged_in(some_user)){
    // at this point you know who's the user so
    // do whatever you need
}

答案 2 :(得分:0)

执行此操作的正确方法是询问用户使用他们的Facebook帐户登录您的网站。

请参阅Using Facebook Login with Existing Login Systems了解更多可接受的方法(让用户控制接下来发生的事情)