从网站的来源中提取一条线

时间:2013-06-24 16:39:31

标签: javascript jquery html

假设我有一个网站,说http://example.com。现在我想设计一个网站,在那里我需要来自example.com的一些信息。例如,使用HTML / Javascript / JQuery我可以从网站的源代码中取出一条特定的行,并将其存储在我的编码中的字符串中吗?

例如,假设example.com代码中的第35行是: - <h3> Welcome user</h3>。因此,在我的代码中的字符串中,我想存储“<h3>Welcome user</h3>”。我该怎么做?有什么建议吗?

3 个答案:

答案 0 :(得分:1)

由于跨域限制,JavaScript无法访问其他服务器。但是,您可以访问自己的服务器并使用像PHP这样的工作:

echo file("http://example.com/")[34];

但是,你真的想这样做吗?毕竟,对网站的任何更改(您似乎无法控制)都会破坏您的代码,甚至可以在那里注入一些内容,例如:

<script>if(location.hostname != "example.com") kill_the_browser_slowly();</script>

我认为你解析DOM会好得多,如下:

$dom = new DOMDocument();
$dom->loadHTML(file_get_contents("http://example.com/"));
$h3 = $dom->getElementsByTagName('h3')->item(0);
if( !$h3) echo "<h3>Can't find the header</h3>";
else echo $dom->saveHTML($h3);

答案 1 :(得分:0)

仅使用jQuery / Javascript / HTML是不可能的。你需要依靠一些服务器端技术。

答案 2 :(得分:0)

如果没有像node.js或php或任何其他服务器端语言这样的服务器端脚本语言,则无法做到这一点。

原因:要从您的页面向JavaScript发出请求,您必须使用AJAX,除非使用CORS(必须由您复制的页面允许),否则您无法在其他域上运行。 AJAX请求通常绑定到它们源自的域,