【发布时间】:2014-06-28 08:02:31
【问题描述】:
我想开发一个脚本,当他输入我们网站的网址时,它会从客户端提取某些信息。
例如-:如果他输入网址 www.example.com,代码会启动并从客户端提取某些信息。对于每个用户来说,它会有所不同,例如 facebook 电子邮件等。
所以我一直在研究这个选项,并认为这几乎是不可能的,除非我有某种 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);
另外,如果你能指导我如何移动到框架,然后通过节点获取它的内容。Iframe 没有 ID、名称等,所以我使用了 xpath 方式。它正在检测框架作为结果 XpathResult 但我是不知道如何进入它,然后为各种节点提取文本。这必须在 Javascript 中。
【问题讨论】:
-
@DavidPostill 场景是如果用户已经在同一个浏览器上登录到 facebook,那么当他访问我的网站时,它会自动显示他与 facebook 相关的电子邮件 ID。所以我想提取该电子邮件id.有什么建议吗?
-
如果我访问您的网站,您会自动检索我的 Facebook 登录电子邮件吗?不,谢谢!执行此操作的正确方法是要求用户使用他们的 facebook 帐户登录到您的网站。请参阅Using Facebook Login with Existing Login Systems 了解更可接受的方法(让用户可以控制接下来发生的事情)
-
@DavidPostill 如果用户在同一个浏览器上维护了一个 facebook 会话,那么该站点会自动知道用户的 facebook 电子邮件(我不知道如何可能是一些 oAuth 等)。当用户单击按钮时然后它会在 iframe 中显示一个弹出窗口,向用户显示他的 Facebook 名称和电子邮件,并要求他确认他想登录 acc。我想要的是已经是他们的。
-
@AnishSharma 您是否在提供的代码中检查了link?您在谈论 facebook,但它与此链接无关。我看到一个空表格。但是,如果该 iframe 已经在页面/位置上有内容 a) 为什么要将其注入另一个页面/位置 b) 以获取相同的内容?!
标签: java javascript php xpath web-scraping