問題タブ [simplepie]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - SimplePie(PHP)で変数を作成して含める
以下のコード内で、VARを変数として設定し、それをSimplePieコード内にフィードURLとして含めるにはどうすればよいですか?「フィード」コードは、SimplepiePHPライブラリからのものです。
php - Simplepie - データベースからフィードを取得する
データベースから複数のフィードを取得したいので、それらのフィードからすべての新しいコンテンツを取得します
それは機能しますが、問題があり、何が原因なのかわかりません。これがコードです。
$feed_sql = mysqli_query($link, "tutorial_feed からフィードを選択 WHERE 承認済み = 1");
$フィード = 配列();
$i = 0;
while($feed_r = mysqli_fetch_object($feed_sql)):
$i++;
末期;
$feed = new SimplePie($feeds);
$feed->handle_content_type();
foreach($feed->get_items(0, 100) as $item) :
echo $item->get_permalink()."
";endforeach;
私は最初に得る
注意: 未定義のオフセット: 22 行目の I:\wamp\www\cmstut\includes\cron.php の 0 注意: 22 行目の I:\wamp\www\cmstut\includes\cron.php の
未定義のオフセット: 1
注意:未定義のオフセット: 2 の I:\wamp\www\cmstut\includes\cron.php 行 22
通知: 未定義のオフセット: 3 in I:\wamp\www\cmstut\includes\cron.php 行 22
通知: 未定義のオフセット: 4 in I:\wamp\www\cmstut\includes\cron.php 行 22
Notice: Undefined offset: 5 in I:\wamp\www\cmstut\includes\cron.php 行 22
Notice: Undefined offset: 6 in I:\wamp\www\cmstut\includes\cron.php 行 22
Notice: Undefined offset: 7 in I:\wamp\www\cmstut\includes\cron.php 行 22
Notice: Undefined offset: 8 in I :\wamp\www\cmstut\includes\cron.php 22 行目
Notice: Undefined offset: 9 in I:\wamp\www\cmstut\includes\cron.php 行 22
Notice: Undefined offset: 10 in I:\wamp\www\cmstut\includes\cron.php 行 22
そして、インポートされたフィードに基づいて新しいコンテンツへのパーマリンクの印刷を開始します。未定義のオフセットが存在しないことを意味することは知っていますが、取得できません。助けていただければ幸いです
rss - RSS フィードを個別のフィードに分割する
キーワードの一致に基づいて、単一の RSS フィードを個別のフィードに分割する方法を見つけようとしています。
Yahoo Pipes が私の最初の考えでしたが、それを行う方法が見つかりませんでした。Pipes には分割モジュールがありますが、どのパイプにも使用できる出力モジュールは 1 つだけです。そのため、パイプから複数のフィードを取得する方法がわかりません。
これを行うことの要点は、Google リーダーで単一の高密度フィードをより管理しやすくすることです。(Hey Google: Gmail スタイルのフィルターはどうですか?!)
【清算開始】
メイン フィードが入ってきて、特定のキーワードに基づいて「サブフィード」を構築するようにフィルター処理することを想定しました。問題は、フィルター処理されたメイン フィードと「サブフィード」の両方を購読することです。フィルターは、メイン フィード内のアイテムの数を減らします。それらは「フィルタリングされます」。将来的に削除する必要がある他のサブフィードを監視するために、フィルター処理されたメイン フィードをサブスクライブします。
個別のパイプを設定する際の主な問題は、サブフィードごとにフィルターを維持する必要があり、それらのフィルターを複製してセット全体をメイン フィードに適用する必要があることです。実行可能ですが、理想的ではありません。他に選択肢がないのかもしれません。
【説明終了】
2 番目に考えたのは、Pipes を使用してタグをフィード アイテムに適用し、Google Reader がそれらのタグを尊重することを期待することでした。これもありそうにありません。
MagpieRSS と Simplepie を調べて、独自のソリューションを展開することを検討しました。フィードのマージに関するドキュメントはたくさん見つかりましたが、フィードの分割に関するドキュメントはありませんでした。私のスキルはかなり基本的なものなので、かなり具体的なチュートリアルがなければ、これは私のリーグ外かもしれません.
誰かがアイデアを持っているなら、私は感謝します。ありがとう。
rss - SimplePie が flickr フィードを解析しない
SimplePie を使用してグループ プールの flickr フィードを取得しようとしています。
次に、典型的な SimplePie php 呼び出しを使用して、フィード項目をループします。ただし、何も返されません。HTML はありますが、フィード要素が挿入されていません。
タグの flickr フィードを使用しようとすると、次のようになります。
公開写真フィードから写真のリストを取得しましたが、タグは考慮されていません。
何か案は?私が考えられる唯一のことは、API キーが必要であるということですが、flickr Web サイトには、フィード呼び出しにキーが必要であることを示すものは何もありません。さらに、ブラウザで両方のタイプのフィードを開いて、探しているフィードを取得できます。
php - HTTP ではなく CLI としていくつかの PHP スクリプトを実行しようとしています。どうすれば彼らをうまくプレイさせることができますか?
FeedForAll の PHP スクリプトをいくつか使用して、RSS フィード (RSSmesh) を結合し、HTML (RSS2HTML) として表示しています。
私はこれらのスクリプトをかなり集中的に実行するつもりであり、結果の HTTP 要求と帯域幅がホスティング クォータにカウントされることを望まないため、Web ホストのサーバー上でこれらのスクリプトをアンブレラ PHP "バッチ" スクリプトで実行するように移行中です。 、このスクリプトをcron経由で呼び出します(ちなみに、これはLinuxサーバーです)。
HTTP 経由の (実際の) サンプル リクエストを次に示します。
これにより、目的の HTML 出力が生成されます。これをコマンドラインでどのように機能させたいかの例:
/srv/customers/mycustomer#/mydomain.com/www/a/rss2htmlcore/rss2html2-cli.php /srv/customers/mycustomer#/mydomain.com/www/a/myapp/xmlcache/feed.xml /srv/customers/mycustomer#/mydomain.com/www/a/template.html
これは、「rss2html2-cli.php」に正しいシバン行が追加されたものです。リクエストで実行可能ファイル(「/usr/local/bin/php」)を指定することもできますが、問題なく別のスクリプト(自分で書いたもの)を実行できるため、違いがあるとは思えません。
さて、RSS2HTML と RSSmesh は違います。まず第一に、これらには 2 次ファイルが含まれています (たとえば、どちらにも XML パーサー スクリプトが含まれています)。そして、これが私が頭を悩ませているところだと思います。
現在、次のように「umbrella」バッチ スクリプトから exec() を呼び出しています。
exec("/srv/customers/mycustomer#/mydomain.com/www/a/rss2htmlcore/rss2html2-cli.php /srv/customers/mycustomer#/mydomain.com/www/a/myapp/xmlcache/feed.xml /srv/customers/mycustomer#/mydomain.com/www/a/template.html", $output)
しかし、出力は生成されていません。これを行う最善の方法は何ですか?また、どのような「落とし穴」を心に留めておく必要がありますか? exec() はこれにアプローチする正しい方法ですか? 他の(単純な)スクリプトでは問題なく機能しますが、それは独自の出力を書き込みます。このために、出力を取得し、可能であればアンブレラ スクリプト内からファイルに書き込みたいと考えています。出力バッファリングも試しましたが、うまくいきませんでした。
インクルードに関して何か特別な注意を払う必要がありますか? 現在、それらはスクリプトで指定されてinclude_once("FeedForAll_XMLParser.inc.php");
おり、指定されたファイルは実際に同じフォルダーにあります。
詳細情報:
-これは Linux サーバーです。
-シェルに直接アクセスできないため、コマンドラインで直接テストすることはできません。すべてはcrontabを介して行われます。
-FeedForAll スクリプトのサポートには、まだ多くの要望が残されていることは認めますが、できればスクリプトを使い続けたいと思っています。私は Simplepie を調べましたが、FFA スクリプトは、個々のフィードごとのアイテム数の制限 (RSSmesh) や説明の長さの制限 (RSS2HTML) など、Simplepie では明らかな解決策が見られないいくつかのことを行います。
-ヤフー!パイプはアウトです。アプリケーションのデータをキャッシュする時間が長すぎます。
コードを確認したい場合は、txt ファイルとしてのスクリプトを次に示します。RSS2HTML2 と RSSmesh は FeedForAll スクリプトで、FeedForAll_XMLParser... は含まれているパーサーです。$argv などを処理するためにこれらをまだ修正していないことに注意してください。ただし、CLI で正常に動作する「scraper-universal-rss-cli」を使用しています。
誰かがこれについて共有する考えを持っているなら、それは非常に高く評価されます. 前もって感謝します。
codeigniter - Codeigniter+Simplepieを使用した書き込み権限
2つのフレームワークを使用して単純なRSSパーサーを作成しようとしています。ただし、キャッシュディレクトリに書き込もうとすると、PHPエラーが発生します。
githubの最新バージョンのSimplepieを使用してXAMPPでWindows7を実行しています
エラー:
PHPエラーが発生しました
重大度:ユーザー警告
メッセージ:C:\ xampp \ htdocs \ geekurls / system / application / cache/rssは書き込み可能ではありません。正しい相対パスまたは絶対パスを設定し、その場所がサーバー書き込み可能であることを確認してください。
ファイル名:libraries / simplepie.php
行番号:1732
以下のコメントのように試してみて、テストファイルを作ってみましたが、運が悪かったです
xml - Simplepie iTunesは特定のクラスを選択します
iTunes フィードを解析しています。フィード内に 3 つの画像サイズがあり、最大のものを取得する方法がわかりません。
iTunes フィードの例:
私のクラス:
php で画像を出力します。
常に最初/最小の画像を出力しますが、最大の画像を定義する方法がわかりませんか?
php - SimplePieXMLドキュメントが無効です
SimplePieを使用してXMLを解析しようとしています。設定されたforce_feedをTRUEにしないと、SimplePieはこれをRSSとして認識しませんでした。SimplePieによって表示されるエラーメッセージ:
このXMLドキュメントは無効です。おそらく、無効な文字が原因です。XMLエラー:1行1列で整形式ではありません(無効なトークン)
XMLドキュメントの最初の2行は次のとおりです。
ここで何がうまくいかないのか分かりますか?
編集(コードで更新):
php - codeigniterを使用したsimplepieで複数のフィードを使用する
codeigniterを使用していくつかのrssフィードをループするようにsimplepieを取得しようとしていますが、配列内の最後のフィードからのフィード項目を表示するためにのみ取得できます。
_get_feed関数のforeachループに関係していると思いますが、私が試したすべての方法で修正できませんでした。
私のコントローラーにはこれがあります
それから私の見解では私はこれを持っています
set_feed_url関数を使用して解析するフィードの配列をsimplepieに与えることができることは知っていますが、すべてのフィード項目が一緒に混合されるため、これは行いたくありません。
また、コントローラーに_get_feed関数を配置しても、ベストプラクティスの観点から問題がないかどうか、またはデータをフェッチしているモデルに配置したほうがよいかどうかを知りたいですか?