在javascript / php中使用YQL来抓取文章html?

时间:2011-06-18 20:07:03

标签: php javascript html yql

我是YQL的新手,只是想学习如何做一些相当简单的任务。

假设我有一个URL列表,我希望将它们的HTML源代码作为javascript中的字符串(因此我可以稍后通过ajax将其插入到数据库中)。我如何在Javascript中获取此信息?或者我必须在PHP中做到这一点?我也很好,真的 - 无论什么都行不通。

以下是我在其控制台上运行的示例查询:

从html中选择* url =“http://en.wikipedia.org/wiki/Baroque_music”

目标是基本上将HTML或文本或其他内容保存为字符串。

我该怎么做呢?我有点理解查询是如何工作的,但不是真的如何与javascript和/或php集成(假设我有一个URL列表,我想循环遍历它们,在每个地址获取html并将其保存在某个地方)。

感谢。

1 个答案:

答案 0 :(得分:1)

由于网络浏览器中内置的安全功能,您无法使用Javascript阅读其他网页。它被称为Same origin policy

通常的方法是使用PHP从服务器中删除这些站点的内容。

还有一个名为bookmarklet的javascript选项。

您可以在书签栏中添加书签,每次想要网站内容时都会点击书签。

脚本将加载到主页中,它可以读取内容并将其发回给您的服务器。

奇怪的是,相同的原始策略并不妨碍您将数据从此主机页面发布到您的域。您需要将FORM发布到在您的域上托管源的IFRAME。

您将无法阅读从POST返回的回复 但是,您可以使用setInterval对您的域进行JSONP调用,以了解POST是否成功。