1

这是我试图分解成数据库的信息。我将仅将其用于我自己的用途来分析统计数据等。我一直在使用 Excel 手动执行此操作,但我想在将来为自己节省一些工作。

网址是:http: //fantasy.premierleague.com/web/api/elements/537/

知道如何抓取该信息或轻松将其转换为 excel 格式吗?我知道一点 php 和 mysql,但对 JSON 一无所知,对抓取也知之甚少(我尝试弄乱 SIMPLE_HTML_DOM)。

4

8 回答 8

3

您需要在 PHP 中对数据进行 JSON_decode。

$obj = JSON_decode($mydata));
print_r($obj);

为您提供的额外信息:http: //php.net/manual/en/function.json-decode.php

于 2012-12-31T05:18:31.860 回答
3

您可以将其转换为数组

 $array = json_decode(file_get_contents('http://fantasy.premierleague.com/web/api/elements/537/'));

json_decode()

您可以使用PEAR excel writer将其转换为 excel

于 2012-12-31T05:21:01.573 回答
2

PHP 有一个 json 解析器函数 json_decode()。

所以:

  1. 使用 file_get_contents() 函数将 json 内容从 URL 读取到字符串中。

  2. 使用 json_decode() 创建 PHP 结构表示。

  3. 使用 PEAR Spreadsheet_Excel_Writer 模块创建您的 Excel 电子表格。

是的。像 1、2、3 一样简单。

于 2012-12-31T05:22:39.143 回答
1

使用 justjson_decode并获取转换后的数据,如此编辑

$arr = json_decode('your JSON data',true);

echo $arr['transfers_out'];  // output 490374  //for array
echo $arr->transfers_out;  // output 490374  //for stdClass
于 2012-12-31T05:18:12.420 回答
1

PHP 让它变得非常简单:

$str = file_get_contents('http://fantasy.premierleague.com/web/api/elements/537/');
$jsonarray = json_decode($str, true);
var_dump($jsonarray);

当然,您必须分析数组的结构并弄清楚如何将其分解为您真正要查找的内容。

于 2012-12-31T05:23:57.103 回答
1

通过在 PHP 中提到的 URL 上运行 curl,在收到响应字符串后尝试使用 $obj = json_decode($jsonStr)。然后你可以从 json 对象中获取参数,比如

$obj['paramName'];

然后,您可以对信息做任何您想做的事情,包括将其放入数据库。

对于 php 中的简单 MySQL 交互,请查看 MySQLConnector 类。

http://jakesankey.com/blog/2011/12/php-mysql-helper-class/

于 2012-12-31T05:24:29.227 回答
1
<?php

$x=json_decode(file_get_contents('http://fantasy.premierleague.com/web/api/elements/537/'));
print_r($x);//$x will contain all the values in an array format.

?>
于 2012-12-31T05:18:30.450 回答
1
<?php
// Create a stream
$opts = array(
  'http'=>array(
    'method'=>"GET"
  )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$json= file_get_contents('http://fantasy.premierleague.com/web/api/elements/537/', false, $context);
$arr= json_decode($json);

$xml = new SimpleXMLElement('<root/>');
array_walk_recursive($arr, array ($xml, 'addChild'));
print $xml->asXML();
于 2012-12-31T05:22:27.123 回答