2021年12月30日木曜日

ヒッチコックのパーツリストをローカルで閲覧する

 ヒッチコックはパーツリストもあってとても便利です。

しかし画像が重くてページ遷移に時間がかかるので、ローカルに保存したい。
final editionなので、URLは
https://www.hitchcocksmotorcycles.com/partsbook/327/2020-500cc-classic-efi-euro-4-c5
です。
使用環境はubuntuです。

_________________________wgetでごっそり落とす。
コマンドは
wget -p -k -r -l 1 -w 1 --adjust-extension https://www.hitchcocksmotorcycles.com/partsbook/327/2020-500cc-classic-efi-euro-4-c5
-l 2以上なら、全年式を読み込んでしまう(270MBにもなる)。2020だけなら83MBでした。あまり差がないな…。

         _________________________オプションの意味 備忘録
p 画像も落とす
k html中のリンクをローカルに書き換える
r 再帰的に
l rオプションで何回層までもぐるか
w 相手サーバーに不可を欠けないように指定秒数まつ(ページごと?ファイルごと?)
--adjust-extension 拡張子をつける(今回の場合はこれ指定しないと.htmlや.cssが付かなかった)

_________________________リンクの修正
これで解決と思いきや、各ページの
<image xlink:href="https://www.hitchcocksmotorcycles.com/partsbook_images/1611142542-Engine Page 44 V3.jpg" height="100%" width="100%"/>
このリンクだけ,kオプションが効かず、ローカルに修正されない。各子ページに1つずつ出てくる。パーツリストの図面画像。

変更行だけを出力するには、-nオプションと、sコマンド末尾のpを指定する。
sed -n 's!image xlink:href="https://www.hitchcocksmotorcycles.com/partsbook_images!image xlink:href="../partsbook_images!p' *.html > a.txt

あっているようなので、本番コマンド。
sed -i 's!image xlink:href="https://www.hitchcocksmotorcycles.com/partsbook_images!image xlink:href="../partsbook_images!' *.html

_________________________完成
ローカルパーツリストは完成した。しかし前より軽くなったが、それでも動きが鈍い…。