おはようございます。朝早くから質問させていただきます。
他サイトやブログで公開されているrssフィードなどで、タイトルを取得し、公開するいわゆるアンテナサイトというものがありますが
あのようなサイトはどうやって更新されたことを調べているのでしょうか?
つまり、phpのsimplexmlではこちら側(後、A)からxmlファイルを取りにいくだけであり、相手側(後、B)が更新したのち、Aサイトのスクリプトを実行して、xmlフィードを取りに行き、Aサイトを更新するということになると思うのですが、ちらほらとみかけるアンテナサイトなどでは、Bブログが更新されるのとほぼ同時に、Aサイト側にもBブログで更新された記事のタイトルが羅列されております。
このようなライブラリやスクリプト、もしくは関数、またはその方法などが存在するのなら教えていただけないでしょうか?よろしくお願いします。
No.2ベストアンサー
- 回答日時:
全部RSSフィードを取ってくると、大量のXMLを頻繁に見に行く事が
難しいので、HTMLのヘッダ情報からデータが更新されているかを
を取ってくるのがよいのではないでしょうか。
以下の関数なら、限りなく短い時間で更新時間が分かります。
<?
$time = last_modified("okwave.jp", "/rss.php");
echo date("Y-m-d H:i:s", $time) . "\n";
function last_modified($hostname, $path)
{
$time = -1;
if(!$fp = fsockopen($hostname, 80))
{
return -1;
}
$out = "HEAD http://{$hostname}{$path} HTTP/1.0\n\n";
fwrite($fp,$out);
while (!feof($fp)) {
if(ereg("Last-Modified: (.+)", fgets($fp, 128), $regs))
{
$time = strtotime($regs[1]);
fclose($fp);
return $time;
}
}
fclose($fp);
return $time;
}
?>
ありがとうございます。完璧に実行できました。
このような綺麗なスクリプトを書けるように日々精進していきたいと思います。
それでは、失礼します
No.1
- 回答日時:
サイトやブログのRSSフィードを取得すると全てのフィードを取得してしまうことになるので、おそらくXML-RPC等を使用して定期的にPingサーバから更新情報を取得しているのだと思います。
#私自身、Pingサーバから更新情報を受信したことないのであくまで推測ですが・・・。
http://ping.bloggers.jp/api.html
上記URLでAPIを公開しているので一度参照されてはいかがでしょうか?
他のPingサーバでもAPIを公開しているところがあると思います。
ご回答ありがとうございます。返信が遅くなりまことに申し訳ございません。
pingサーバーのapiについてですが・・・・、どうやら知識と技術不足のため、理解ができずにおわってしまいましたが
このようなやり方もあることを教えてくださり、本当にありがとうございました。
失礼いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- gooブログ gooブログについて 1 2022/05/09 09:46
- その他(IT・Webサービス) ChatGPTが答えた文章をサイト内のコンテンツに使えますか? 4 2023/04/11 15:54
- その他(ブログ) 【ブログ:SEO】ドメインパワーが強いのはどちらでしょうか 1 2022/04/25 23:08
- JavaScript useStateの分割代入について 1 2022/05/06 10:02
- Web・クリエイティブ 1.現在webデザイン系のサイト開発・運営してるのですが、サイト内ジャンルに「人間関係」を入れるor 1 2022/11/12 11:11
- システム ホームページの仕組みについて 3 2022/08/16 14:33
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- 弁護士・行政書士・司法書士・社会保険労務士 行政書士試験の民法についての質問になります。 地役権での問題で、解答の取得時効の更新箇所について分か 1 2023/05/08 20:03
- その他(ブログ) Brogger独自ドメインから独自ドメインへ変更する 1 2022/09/22 13:21
- 消費者問題・詐欺 お金を取り返すことは可能でしょうか? 4 2023/01/07 13:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローカルのコンピュータ名を取...
-
Excel VBA:特定の文字列以降(...
-
「取得先」という表現について
-
【VBA】EXCELブックを開かずに...
-
ps3で久しぶりにCDの音楽情報取...
-
ImmGetConversionListについて
-
VB or VBScriptでPCの製造番号...
-
VBA web情報取得(スクレイピン...
-
IEを使わないでhtmlテキストを...
-
IPアドレスとMACアドレスを取得...
-
モジュールからルート名前空間...
-
VBAでPDFファイルの文書のプロ...
-
get_headersでLast-Modified
-
format関数について
-
(Win32)ファイルパスから物理ド...
-
MACアドレスのベンダーコードの...
-
PHPを使って、別サイトの一部を...
-
個人向けルーターを使用してもS...
-
TreeViewのChild Node
-
perl LWPでURLにアクセスした時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
IEを使わないでhtmlテキストを...
-
Yahoo! JAPAN IDを新規取得でき...
-
不正競争防止法に該当するので...
-
ps3で久しぶりにCDの音楽情報取...
-
format関数について
-
【VBA】EXCELブックを開かずに...
-
自動車教習所について 質問 普...
-
Excel VBA:特定の文字列以降(...
-
VBAでPDFファイルの文書のプロ...
-
【C#】FindWindowExの使い方を...
-
ミュージックのアートワークを...
-
アクセスの度にIPアドレスを変...
-
ローカルのコンピュータ名を取...
-
各クライアントマシンのログイ...
-
IPアドレスとMACアドレスを取得...
-
積立投資してます。現在平均取...
-
VB or VBScriptでPCの製造番号...
-
VBS「開いているページ」のURL...
-
EXCEL、マクロ-改ページ行番号...
おすすめ情報