Javascript 获取网页内容并放入数组或字符串中

Javascript 获取网页内容并放入数组或字符串中,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我真的不知道该如何表达这个问题,所以我将尽我所能地提问 我想知道如何抓取网页的内容并将其放入字符串或数组中,以便分析数据 这是网页: 该网页返回如下内容: ?([{"id":25,"fleet":15,"name":"Fleet 15","description":"","zonarId":9,"gpsId":"8061088","latitude":"36.0680039","longitude":"-94.1758039","speed":0.000,"heading":89.700,"po

我真的不知道该如何表达这个问题,所以我将尽我所能地提问

我想知道如何抓取网页的内容并将其放入字符串或数组中,以便分析数据

这是网页:

该网页返回如下内容:

?([{"id":25,"fleet":15,"name":"Fleet 15","description":"","zonarId":9,"gpsId":"8061088","latitude":"36.0680039","longitude":"-94.1758039","speed":0.000,"heading":89.700,"power":true,"date":"\/Date(1456339080000)\/","color":"#0090ff","routeName":"Blue","routeId":8,"distance":9999999999,"nextStop":"Garland Center","nextArrival":"8 mins"},{"id":33,"fleet":6,"name":"Fleet 6 ","description":"","zonarId":13,"gpsId":"8061090","latitude":"36.0818423","longitude":"-94.1707598","speed":0.000,"heading":181.700,"power":true,"date":"\/Date(1456339200000)\/","color":"#0090ff","routeName":"Blue","routeId":8,"distance":2.31887983012931,"nextStop":"South Creekside","nextArrival":"1 mins"}]);
我不知道最好的方法是什么。。。通过JQuery实现AJAX?也许是一个php调用?我不知道

我已经搜索过了,但正如我所说,我不知道该如何表达这个问题,所以我的搜索结果充其量只是零星的。
有人能帮我吗?

使用
文件获取内容功能获取页面内容。删除非法字符。将json格式转换为PHP数组:

<?php

$page = file_get_contents('https://campusdata.uark.edu/api/buses?callback=?&routeIds=8');
$page = substr($page, 0, -2);
$page = substr($page, 2);
var_dump (json_decode($page));

使用
文件获取内容
功能获取页面内容。删除非法字符。将json格式转换为PHP数组:

<?php

$page = file_get_contents('https://campusdata.uark.edu/api/buses?callback=?&routeIds=8');
$page = substr($page, 0, -2);
$page = substr($page, 2);
var_dump (json_decode($page));

您可以在PHP中使用它

$site = file_get_contents("http://campusdata.uark.edu/api/buses?callback=&routeIds=8");
print_r(json_decode($site));
参考


您可以在PHP中使用此选项

$site = file_get_contents("http://campusdata.uark.edu/api/buses?callback=&routeIds=8");
print_r(json_decode($site));
参考


看起来像是一个JSONP调用。您可以使用jQuery轻松地从API端点获取数据。请参见下面的示例:

$.ajax({
        url: "https://campusdata.uark.edu/api/buses?callback=?&routeIds=8",

        // The name of the callback parameter
        jsonp: "callback",

        // Tell jQuery we're expecting JSONP
        dataType: "jsonp",

        data: {},

        // Work with the response
        success: function( response ) {
            console.log( response ); // server response
        }
    });
下面是一个工作示例。
在尝试此操作之前,请确保在页面中包含jquery。

看起来像是一个JSONP调用。您可以使用jQuery轻松地从API端点获取数据。请参见下面的示例:

$.ajax({
        url: "https://campusdata.uark.edu/api/buses?callback=?&routeIds=8",

        // The name of the callback parameter
        jsonp: "callback",

        // Tell jQuery we're expecting JSONP
        dataType: "jsonp",

        data: {},

        // Work with the response
        success: function( response ) {
            console.log( response ); // server response
        }
    });
下面是一个工作示例。
在尝试此操作之前,请确保在页面中包含jquery。

它是jsonp,您可以使用jquery获取它,或者只需将脚本标记指向记录数据的url:
。您需要通过更改
console将其传递给需要数据的函数。如果您想做的不仅仅是记录它,还需要将其记录到函数名中。“Web Crawler”是您要查找的短语,它是jsonp,您可以使用jquery获取它,或者只需将脚本标记指向记录数据的url:
。如果您想做的不仅仅是记录数据,您需要通过将
console.log
更改为您的函数名将其传递给需要数据的函数。“Web爬虫”是您要查找的短语“是,我错了,回调对于json是空的;”@这完全符合我的要求。我会打上记号作为答案,但@TeaCode比你抢先一步。他们的答案也很有效,但我更喜欢php。是的,我错了,json的回调是空的;)@这完全符合我的要求。我会打上记号作为答案,但@TeaCode比你抢先一步。他们的答案也很有效,但我更喜欢php。您应该将回调参数放在url的末尾,以便在jq中使用jsonp。。。埃德:哦,你指定了参数名;这也行得通,它比我以前使用的更新和更长。感谢您的闪电般的快速响应和JSFIDLE。这很有效。。。来自@Guillermo Andres Fuentes Moral的代码也是如此。我更喜欢php,所以我会用它,但是你得到了答案,因为你回答得太快了!您应该将回调参数放在url的末尾,以便将jsonp与jq一起使用。。。埃德:哦,你指定了参数名;这也行得通,它比我以前使用的更新和更长。感谢您的闪电般的快速响应和JSFIDLE。这很有效。。。来自@Guillermo Andres Fuentes Moral的代码也是如此。我更喜欢php,所以我会用它,但是你得到了答案,因为你回答得太快了!感谢添加的删除非法字符位感谢添加的删除非法字符位