はてブ [1]からdel.icio.us [2]に移行したのですが、両方APIが公開されているおかげで移行が楽チンでした。 移行スクリプトは勉強のために(?)pythonで書こうかと思ったのですが、また今月は仕事でphpを書くことになったので、しばらくphp漬けになるためにもphpで書くことに(笑)しかし少しこまったのが、はてブのfeedの仕様ではtagがdc:subjectという要素で表現されており、phpでよく使われているmagpieRSSやPEARのXML_RSSだと、複数の要素が連結されたテキストとして取り出されてしまい、tagをちゃんと取り扱えないという問題がありました。 PEARのXML_Feed_Parser [3]を使うと、dc:subjectなどの拡張名前空間の要素もちゃんとparseすることができます。 PEARのドキュメント [4]にもサンプルがありますが、entryからmodelを取り出し、getElementsByTagNameNSというメソッドで要素郡を取り出します。 entryからmodelを取り出す$model = $entry->model;*ここで$entry->linkや$entry->titleはそのまま使える状態 要素郡の取り出し$subjects = $model->getElementsByTagNameNS('https://purl.org/dc/elements/1.1/', 'subject');*もちろんnamespaceや要素名は正確である必要があります 取り出した要素郡に対してはnodeValueをつかって中身にアクセスしますforeach ($subjects as $subject) { print $subject->nodeValue.”\n”;} こんな高機能なparserがあると、RSSかかってこいやー!って気になれそうです。[1] https://b.hatena.ne.jp/rhosoi/[2] https://del.icio.us/rhosoi[3] https://pear.php.net/package/XML_Feed_Parser[4] https://pear.php.net/manual/en/package.xml.xml-feed-parser.extensions.php

投稿者: ほそいりょすけのほめぱげ 投稿日時: 2007年8月1日(水) 23:23