回答:
文書化されていないJSON APIがあります。
拡張機能のIDが83であるとします。このURLは拡張機能とそのレビューを提供します。
単純なjson出力ではなくjsonpが必要な場合は、format = jsonpを設定します。
拡張機能のIDを確認するには、拡張機能の実際のページにアクセスします(例:http : //extensions.joomla.org/extensions/extension/contacts-and-feedback/forms/fabrik)、[レビューを書く]ボタンのhrefを調べます-これは次のようになります。
http://extensions.joomla.org/write-review/review/add?extension_id=83
セグメントextension_id = FOOの拡張IDとしてFOOを使用します。
レート制限は将来実装される可能性があることに注意してください。API呼び出しの結果をキャッシュするのが最善です。また、そのJSON Webトークン(http://jwt.io/)は、APIにアクセスするために将来必要になる可能性があります。
いい考えだ。
Feed43などのツールを使用して「カスタムフィード」を作成できると思います。無料のオンラインサービスで、あらゆるWebページをオンザフライでRSSフィードに変換します。その後、このフィードを使用して、好きな場所に結果を表示できます。
検索パターンを適用してテキストまたはHTMLのスニペットを抽出することにより、自由形式のHTMLまたはXMLドキュメントを有効なRSSフィードに変換し、出力テンプレートを使用してこれらのスニペットを結合して、フィードのアイテムのユーザーフレンドリーなコンテンツを形成します。
フィードのセットアップが完了すると、それは非常に簡単に思えます。
ランダムなJED拡張URLを使用して自分ですばやく試しましたが、レビューはJEDのタブに表示されています(他の無料のrss作成者はこれを行うことはできません)。
ここで自分で遊んでみてください。その分、実験する時間はあまりありません。検索パラメータは私を捨てましたが、それはほんの少しの練習が必要だと確信しています!
お役に立てれば。
結局、@ Rob Clayburnが推奨するJSONメソッドを使用しました。
これは、拡張機能について知っておくべきすべてのものを含む巨大なオブジェクトをダンプします。
私は次のように書いて、レビューのタイトルとメインテキストを提供しました。
<?php
$url = 'http://extensions.joomla.org/index.php?option=com_jed&view=extension&layout=details&id=3711&format=json';
$contents = file_get_contents($url);
$decode = json_decode($contents, true);
$reviews = $decode['reviews'];
foreach ($reviews as $key => $value)
{
echo $value['core_title']['html'] . "<br>";
echo $value['core_body']['html'] . "<br>";
}
?>
またはで置き換えることもできhtml
ます。value
text
新しいJEDでは、次のものを書くことができます。
したがって、結果を取得すると、次のような結果になる可能性があります。
{functionality} TEXT_HERE {/ functionality} {ease_of_use} TEXT_HERE {/ ease_of_use} {support} TEXT_HERE {/ support} {documentation} TEXT_HERE {/ documentation}
したがって、分類/分離が必要になる場合があります。
これが将来同じことをしたい人に役立つことを願っています。
他の人がコードを気にすることなく自分のサイトに統合できるように、Joomlaモジュールを書くかもしれません。
1日1回JEDサイトをスクレイピングし、Joomlaのキャッシュ管理システムを使用して解析済みコンテンツをキャッシュするモジュールをコーディングしました。ページの読み込みを高速に保つことができたのは素晴らしいことでした。しかし、JEDはサイトのレイアウトを変更し、私はそれを修正するだけではありません。
その中には多くの逆行的な正規表現がありますが、それは可能です。私に提供したいのですが、新しいデザインとレイアウトではまだ機能しません。