0

试图解码从服务器返回的大量信息。

实际上我只是打印出返回的数据,数据本身是正确的,除了我得到'\u003c'而不是'<'等......我正在尝试将所有这些转换为实际字符!

编辑:

代码:

$url = "http://people.gaa.ie/club/fixResult.jsp?callback=?&clubID=1329&compID=6785&leagueTable=N&colour=1E58AC";
$content = get($url);

print $content;

输出片段是:

parseJSON({"content":"\u003cdiv id\u003d\"fixtures\"\u003e\n\u003cdiv class\u003d\"aFixture\" style\u003d\"display:none;\"\u003e\n\t\u003ch5 class\u003d\"primaryColor\"\u003eSenior Football Championship Group Two\t\u003c/h5\u003e\n\t\u003ch5 class\u003d\"primaryColor\"\u003e20.04.12 (Fri)\u003c/h5\u003e\n\t\u003cul class\u003d\"fixtures_list\"\u003e\n\t\t\u003cli\u003e\n\t\t\t\u003cp style\u003d\"font-weight:bold;\"\u003e\n\t\t\t\tRound 1\n\t\t\t\u003c/p\u003e\n\t\t\t\u003cp\u003e\n\t\t\t\t\u003cspan class\u003d\"teams\"\u003e\u003ca href\u003d\"#\" onclick\u003d\"Javascript:loadContent(\u0027clubID\u003d1329\u0026compID\u003d6785\u0026leagueTable\u003dY\u0026colour\u003d1E58AC\u0027);\"\u003eClashmore/Kinsalebeg\u003c/a\u003e\u003c/span\u003e\u0026nbsp;1-9\u0026nbsp;V\u0026nbsp;0-8\u0026nbsp;\u003cspan class\u003d\"teams\"\u003e\u003ca href\u003d\"#\" onclick\u003d\"Javascript:loadContent(\u0027clubID\u003d2060\u0026compID\u003d6785\u0026leagueTable\u003dY\u0026colour\u003d1E58AC\u0027);\"\u003eAn tSráidbhaile\u003c/a\u003e\u003c/span\u003e\n\t\t\t\u003c/p\u003e\n\t\t\t\u003cp\u003e\n\t\t\t\tTime: 8 00 PM , Venue: Fraher Field\n\t\t\t\u003c/p\u003e\n\t\t\t\u003cp\u003e\n\t\t\t\tReferee: John Condon\n\t\t\t\u003c/p\u003e\n\t\t\u003c/li\u003e\n\t\u003c/ul\u003e\n\u003c/div\u003e\n\u003cdiv class\u003d\"aFixture\" style\u003d\"display:none;\"\u003e\n\t\u003ch5 class\u003d\"primaryColor\"\u003e29.04.12 (Sun)\u003c/h5\u003e\n\t\u003cul class\u003d\"fixtures_list\"\u003e\n\t\t\u003cli\u003e\n\t\t\t\u003cp style\u003d\.....

我希望使用 Beautiful Soup 遍历这些数据,数据本身都是 HTML 代码。我想要它的格式:

<div id="fixtures"><div class="aFixture>...... etc...

可以看到'<'、'=' 符号由它们的UNICODE 值而不是相关字符表示。

4

1 回答 1

2

用于输出的格式选择是愚蠢的。它不是返回 JSON,而是返回调用 JQuery 函数的 JavaScript 代码。

首先,提取 JSON。

my ($json) = $content =~ /^parseJSON\((.*)\)$/;

然后,只需使用您最喜欢的 JSON 解析器对其进行解析。

use JSON::XS qw( decode_json );
my $html = decode_json($json)->{content};

输出:

<div id="fixtures">
...
于 2013-01-16T00:08:46.187 回答