MovableType」カテゴリーアーカイブ

天気予報とRSS

RSSをPHPで取得しようと実験中。

ある天気予報サイトにPHPで接続、天気予報情報を取り込んで、必要な部分だけを抜き出してxmlにするプログラムを作りました。これをcronで定期的に走らせて、出来たrdfを下記パーサにて取得しようと考えています。だから何なんだ、っていうと、単にブログの右側に超ローカルな天気予報を表示できると言うだけなんですけど・・・。

MagpieRSS – PHP で使える RSS パーサー
http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS

Magpie RSS – PHP RSS Parser
http://magpierss.sourceforge.net/

Docodemo Headline
http://works.xrea.jp/headline.php

で、まだまだ中途でフォーマットもされてないんですけど、表示できました!おお〜。でもかっこわるいなー。なお、MagpieRSS0.7以降で文字化け(???)が発生する場合「rss_parse.incだけver0.61」に置き換えるとよいと、上記サイトのコメント欄にありました。←これ重要

プラグインとかまったく分からないので、RSSパーサするPHPスクリプトをテンプレの中でrequireしただけなんですが。最大の問題は勝手に天気予報データを使いまわしていいのだろうか?というところにあるわけですが。

他のサーバのHTMLを取得する方法は以下を参考にさせていただきました。

レッツPHP!
http://php.s3.to/tt/tt6.php

PHP TIPS Vol.3
http://www.spencernetwork.org/memo/tips-3.php

PHPってウェブで使うのにはほんとに便利ですね。HTMLタグ除去も活用しました。

<MTPings>とダイナミックパブリッシング

いろいろと試行錯誤してみましたが、ダイナミックパブリッシングをやめると、Recent Trackbacksとしているところ(下記参照)が問題なく動作する模様。トップページのダイナミックパブリッシングはいったん中止しよう。といっても、トラックバックなんてSPAM以外どこからも来ないのですけど・・・。

他では報告が上がってないところをみると、自分ローカルな問題なようですが、デフォルトじゃないところというと、ダイナミックパブリッシング、PHP化、さらに、現在、日付加算用JavaScriptとメニュー折りたたみ用JavaScriptが動作しています。カウンター用JavaScriptは他のテンプレートでも使っていることから関連性が無いと思われます。

どうしてなんでしょう。。。うぅ。

<MTPings>がおかしい?

トップページで表示するようにしてあるRecent Trackbackが見えないことに気づきました。散々試行錯誤してみましたが、最小単位の<MTPing><$MTPingBlogName$></MTPing>なんてやってみても見えてくれません。Trackbackは各エントリーからは見えるのですが。

ぐぐってみたけど、そんな事例は見当たらないので、ぼく固有の問題だと思います。ダイナミックパブリッシングからスタティックに切り替えて再挑戦してみよう。

明日・・・。

トラックバックスパム

ついにこんな場末のブロッグにまでトラックバックスパム・コメントスパム到来でございます。仕方ないので、1バイト文字のみのトラックバックは弾くようにしてみました。対策コードを紹介くださって感謝感謝です。

トラックバックスパムというのはSEO的には非常に有用だという書き込みを見たことがあるのですが、こうやって世界中に迷惑をかけまくってるわけですね・・・。こんなときばかりは2バイト文化圏に生まれてラッキーと思います。そのうち、ブロッグ用ベイジアンフィルターも出てくるかな。

Bianca: BiancaのTrackBackSpam対策【トラックバックスパム対策】