フルハンドメイド JSON

http://white.s151.xrea.com/wiki/index.php?script%2FLDRize%2Fsiteinfo

LDRizewiki ページから JSON をハンドメイドにスクレイピングしてみる。

<ul style="padding-left: 16px; margin-left: 16px;" class="list1">
	<li>
		<a rel="nofollow" href="http://d.hatena.ne.jp/">
			はてなダイアリー - キーワードでつながる多機能ブログ
			<img height="11" width="11" class="external_link" alt="[&#65533;O&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;N]" src="image/external_link.gif"/>
		</a>
		<pre>
			name:      'はてなダイアリー',
			domain:    'https?://.*[dg].hatena.ne.jp/',
			paragraph: '//div[@class="day"]//div[contains(concat(" ",normalize-space(@class)," "), " section ")]',
			link:      'h3/a[1]',
		</pre>
	</li>
</ul>

こんなかんじかなー

{
	"name":	"はてなダイアリー - キーワードでつながる多機能ブログ"
	"data": {
		"name": "はてなダイアリー",
		"domain": "https?:\/\/.*[dg].hatena.ne.jp\/",
		"paragraph": "\/\/div[@class=\"day\"]\/\/div[contains(concat(\" \",normalize-space(@class),\" \"), \" section \")]",
		"link": "h3\/a[1]",
	}
}
  1. name は li のところのを使う
  2. back slash (") をエスケープする
  3. XPath式の中の(")をエスケープする
    • (')だったらそのままでもいいのかなー
  4. exampleUrl は欲しいから li のアンカーのところからスクレイピングしたほうがいいかも
    • いくつかアンカーが無いヤツもある
  5. name と data.name が被ってる