如何使用 jquery 从另一个网站获取指定的文本?



我需要在另一个网站(跨域)的跨度内、div 内、div 内等内找到文本
经过几个小时的研究,我仍然无法获得任何工作。截至目前,这是我所拥有的:

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
</head>
<body>
<div id="thisdiv"></div>
<script>
$.get( "http://landnstemacademy.blogspot.com/", function( data ) {
$( "#Blog1" )
$("span:contains('Quote of the day')")
.contents()
.filter(function(){
return this.nodeType !== 3;
})
.clone().prependTo( "#thisdiv" );
}
</script>
</body>

我对jquery很陌生,所以如果我偏离了轨道,请原谅我。任何帮助都非常感谢。

另外,有没有办法指定"指定元素之后的元素"?我需要在此元素之后获取元素的内容,但它并不那么独特。

如果需要,该网站将 http://landnstemacademy.blogspot.com/

编辑:我相信我可能在某处读到,某种涉及json的方法可以绕过这些"反跨域"规则。这在这里行得通吗?那能得到文本吗?我还想指出,如果可能的话,我想将所有代码限制在一个文件中(php 没有额外的文件文件),但我理解这是否由于任何原因使其太困难/不可能。再次感谢。

由于跨域资源共享 CORS 机制,您不被允许从您的域访问网站内容。

这种机制有一些安全原因可以防止点击劫持等攻击。

如果您尝试运行请求,您将收到以下错误,因此您的问题首先不在于 jquery。

XMLHttpRequest 无法加载 http://landnstemacademy.blogspot.com/。不 "访问控制允许源"标头存在于请求的上 资源。因此,不允许访问源"空"。

然后,您访问此数据的唯一方法是,当您尝试从中获取数据的站点在使用Access-Control-Allow-Origin: *http 标头提供请求响应时允许跨源访问。

你可以使用这样的东西:

Jquery:

$.ajax({
url     : 'ajax/get_random_quotes.php',
method  : 'get',
success : function(response)
{
var data = JSON.parse(response);
// You can use response like data.col1 or data.col2
}
});

菲律宾语:get_random_quotes.php

$url = "http://quotes.stormconsultancy.co.uk/random.json";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$response = curl_exec($ch);
curl_close($ch);
echo $response;
exit;

注意:由于跨域资源共享 CORS 机制,您无法访问您网域中的网站内容。所以仅靠ajax()不足以完成你的任务,你必须使用CURL

相关内容

  • 没有找到相关文章

最新更新