headlessで自動アクセスする。実装リポジトリおいておきます。github.com実行方法は、READMEをみてください。GitHubローカル実行もできますが、Dockerで動かすことで、手元にSeleniumやChromeヘッドレスドライバーを用意したり、環境初期化で困ったりすることを割けます。いうのをローカルで動かす意味はあんまりないので、Dockerで動かすのがいいでしょう。PowerShellDockerfileです。Selenium処理を書きます。ないと実行できないようです。(はまった)CSharpDockerfileです。driverだけ入れます。gist.github.com先ほどのPowerShellと異なり、Parallel.Foreachdによる並列処理を用意しました。gist.github.com記事が480以上あるため、1つ1つにアクセスしていると終わりません。写真埋め込みページなどで60secかかったりしていたのでもっとです。CPUコア数で並列がいいのですが、Docker内部への割り当てしだいです。今回は、15並列で不安定になり10並列で安定したのでデフォルト値にしています。Docker実行時にパラーメータを変えたいので、環境変数から値を渡せるようにしています。*110並列で、10分ぐらいでおわるようになったのでだいたいこれぐらい感があります。headlessを動かすだけです。処理の全体はリポジトリをみてください。GitHubGolang[TBD]修正3つのパターンで修正します。-httpsへの置き換え心を無にしてやりました。はてなブログにAPIで取得、保存しなおしはちょっと面倒感があります。記事を全コピー、vscodeで置換、貼り付け直して保存です。当りが邪魔をしていたので外しました。zenbackははてなブログで関連記事機能があるので不要になってました。image埋め込みと2013ぐらいの古い記事でした。OneDriveは、生imageがOneDriveにあったものははてなフォトにいったんおいています。OneDriveのimage埋め込みは、以前コメントでも指摘受けていたので、もう二度とつかわないでしょう。存在しないURLは404で取得できるので消しました。はてなフォトはてなフォトは、生urlでなくはてな記法によるid埋め込みの場合、記事を保存しなおすことでhttps化されます。粛々と記事を保存しなおします。1697件だったようです。GitHub手作業なら死んでました。修正は手作業なのでもうやりたくないです。あと、セキュリティ警告でページ表示できない状況も直ったようです、すいませんでした。去年のいつごろからか、せんせーのサイトが初期表示後しばらくしてセキュリティブロックされだした(ヤベー広告でも拾ったかなって思ってた)。書いてから上げようと思いましたが、やってすでに1週間立つのでとりあえず記事にしていくスタイルで。*1:Docker実行だと、引数より環境変数の方が素直で扱いやすくて好みです。09:48Tweet関連記事2019-01-06はてなブログの全エントリーURLを取得するこのブログ、実はhttpのままです。使っていて最も困るのがランタイムと感じます。(9)トップへ戻るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。