#author("2020-06-24T10:28:38+09:00","default:nobuoki","nobuoki") #author("2020-06-24T10:29:52+09:00","default:nobuoki","nobuoki") * PukiWikiのyoutubeプラグインをスクレイピング [#sf019f66] 便利に使わせて頂いております(作者に感謝!) [[PukiWikiのyoutubeプラグイン改良版2020。HTML5対応 -【車中泊まとめWiki】(PC版)>https://syachuhaku.fxtec.info/index.php?PukiWiki%E3%81%AEyoutube%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E6%94%B9%E8%89%AF%E7%89%882020%E3%80%82HTML5%E5%AF%BE%E5%BF%9C]] このページから youtube.ini.php を取り出すには HTMLソースを取得し、文字実体参照部分をデコード、HTMLタグを取り去ったのち '<?php' から '?>' で括られた部分を取得します ** 準備 [#u4c7b11b] #prism(bash){{{ url='https://syachuhaku.fxtec.info/index.php?PukiWiki%E3%81%AEyoutube%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E6%94%B9%E8%89%AF%E7%89%882020%E3%80%82HTML5%E5%AF%BE%E5%BF%9C' }}} ** その1:w3m [#p666b4ed] ** その1:perl [#qe89a369] #prism(bash){{{ sudo dnf -y install w3m w3m -dump "$url" | sed -n '/<?php/,/?>/p' >youtube.ini.php sudo dnf -y install perl-HTML-HTML5-Entities curl -s "$url" | perl -MHTML::HTML5::Entities -pe 'decode_entities($_)' | sed -n '/<?php/,/?>/p' >youtube.ini.php }}} ** その2:perl [#qe89a369] ** その2:w3m [#p666b4ed] #prism(bash){{{ sudo dnf -y install perl-HTML-HTML5-Entities curl -s "$url" | perl -MHTML::HTML5::Entities -pe 'decode_entities($_)' | sed -n '/<?php/,/?>/p' >youtube.ini.php sudo dnf -y install w3m w3m -dump "$url" | sed -n '/<?php/,/?>/p' >youtube.ini.php }}} これら2つはほぼ同じものが得られますが、 行末スペース(例:31行目)、タブ文字(例:33-36行目)の扱いが違うようです #ref(youtube-plugin.png)