2011年9月12日月曜日

Google Bookmarks を RSS で取得

XML で取得

Google Bookmarks を XML で取得するには、

特定の単語を検索したい場合は、以下を追加。

&q=単語

例えば、`hoge’ を対象にしたい場合、

( cf. Google ブックマークを XML で取得 )

 

問題点

上記のデータ取得方法は、公式なやり方ではない。そのためか、単語を検索した結果が、以前とは変わってしまったようだ。

以前は、以下に示す内容だった。

<xml_api_reply version="1">
	<bookmarks>
		<bookmark>
			<title></title>
			<url></url>
			<timestamp></timestamp>
			<id></id>
			<labels>
				<label></label>
			</labels>
		</bookmark>

これが次のようになった。

<xml_api_reply version="1">
	<bookmarks>
		<title></title>
		<url></url>
		<timestamp></timestamp>
		<id></id>
		<labels>
			<label></label>
		</labels>

比較するとわかるように、<bookmark> タグがなくなった。これにより、各ブックマークの境界が不明となった。

 

RSS で取得

これでは困るので、XML での取得をやめ、RSS で取得することに変更。

ソースを見たい場合は、Firefox ボタン > Web 開発 > ページのソースを表示。

特定の単語を検索したい場合は、

この結果は、ブックマークの境界として <item> が使われている。

<?xml version="1.0" encoding="UTF-8"?>
	<rss version="2.0" xmlns:smh="http://www.google.com/history/" xmlns:recommend="http://www.google.com/history/items">
		<channel>
			<title>Google ブックマーク</title>
			<link>http://www.google.com/bookmarks/</link>
			<description>Google - ブックマーク RSS フィード</description>
			<smh:signature></smh:signature>
			<smh:homepage_label></smh:homepage_label>
			<item>
				<title></title>
				<link></link>
				<pubDate></pubDate>
				<category></category>
				<description></description>
				<guid isPermaLink="false"></guid>
				<smh:bkmk></smh:bkmk>
				<smh:bkmk_id></smh:bkmk_id>
				<smh:bkmk_title></smh:bkmk_title>
				<smh:bkmk_label></smh:bkmk_label>
			</item>

このデータを元に、DOM に変換したい場合は、「JavaScript で XML を読み込む」を参照。

 

関連記事