App Engineerの開発ノート

AWS、Flutterや開発活動に役立つツール作りなど

はてなブログの記事一覧をPowerShellだけでお手軽に抽出

f:id:Simoroid:20210929002308p:plain
自分がはてなブログ作成した記事の一覧を抽出するための方法です。
スクレイピングするやり方も一つの手だと思いますが、PowerShellだけでサクッとやることが出来ました。

記事の一覧はブログに紐づくサイトマップを参照することで参照可能です。
自分のはてなブログサイトマップは「https://ikoda.shop/sitemap.xml」のような形式でアクセス可能です。
※100記事以上ある場合にurlの形式が変わってくるようなのですが、とりあえず無視します。

■ツール実装
下記を張り付けて任意のファイル名(拡張子がps1)で保存。

# サイトマップのURLを指定
$url = 'https://ikoda.shop/sitemap.xml'
$res = Invoke-WebRequest $url
$xmlObj = [xml]$res.Content

foreach($sitemap in $xmlObj.sitemapindex.sitemap){
	$res = Invoke-WebRequest $sitemap.loc
	$locObj = [xml]$res.Content
	
	foreach($urlset in $locObj.urlset){
		# 静的ページを省くためフィルタを適用
		if($urlset.url.loc -like "*/entry/*"){
			echo $urlset.url.loc
		}
	}
}
pause

■実行
ツールを右クリック->「PowerShellで実行」をクリックで実行

f:id:Simoroid:20210929001413p:plain
f:id:Simoroid:20210929001422p:plain

こんな感じでとれましたー

ここまで 読んで頂きありがとうございました。
よければフォローお願いします!