試される大地から

プログラミングのTipsや人生論、英語学習の話題など綴っていきます。

E-Hentai画像ダウンローダ(ehentai-dl)完全版をリリース

(19/02/06)
先程、編集途中の記事をアップしてしまい、失礼しました。
修正したものを公開しております。

このたび、E-Hentaiダウンローダ(ehentai-dl)バージョン1.0.0を作成しました。

僕は5年前にもダウンローダをリリースしています。しかし当時は大学生であり、僕自身の技術力が未熟だったため、クソしょぼくて実用性皆無だったと思います。今回はGUIがつき、以前よりもずっと動作の安定したツールになりました。ぜひお試しください。

不具合は随時修正していきますので、修正時にはこの記事上でお知らせします。

(ウィルスとかは)ないです。もしあったら片山○輔みたいに刑務所行きなんで、ヤバイヤバイ・・・

外観

Windows版は外観がショボいですが、あしからず。

f:id:incodethx3932:20190205203507p:plain

f:id:incodethx3932:20190205004003p:plain

f:id:incodethx3932:20190205003021p:plain

動作要件

以下のバージョンで動作確認済み

  • Windows 10
  • MacOS X 10.13(High Sierra)

古いバージョンのMacOSXでは動作確認をしておりません。実行ファイル化しているので、動作する可能性は高いと思いますが、保証はできかねますのでご注意ください。

Google Chromeをインストールしていない人は、インストールしてください。本ツールはHTML・画像取得のためHeadless Chrome(ウィンドウが出現しないChrome)を利用しますので、Chromeが必須となります。

以下URLよりChromeのインストーラを取得できます。

www.google.com

インストール手順

導入に際しては、いくつか必要なパッケージのインストールが必要になります。 インストール方法をよくお読みになって導入してください。 Chromeのインストールが済んでいない場合は、必ず動作前にインストールしてください。

Windows

【手順①】

ActiveTclをダウンロードします。

以下URLより、バージョン8.6.8のインストーラを入手し、ActiveTclのインストールを完了してください。

https://www.activestate.com/products/activetcl/downloads/

f:id:incodethx3932:20190206013543p:plain

【手順②】

まずは、管理者権限でコマンドプロンプトを起動します。管理者権限でコマンドプロンプトを立ち上げるには、コマンドプロンプトのアイコン右クリックで『管理者として実行』から実行することに注意します。

途中、インストール作業の簡略化のため、Chocolateyを入れています。(※2019年1月末現在)

円数字マーク以降をコピペして実行してください。

① @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

② choco install -y chromedriver

【手順③】

最後に、ダウンローダの圧縮ファイルを以下のURLからダウンロードします。

www.dropbox.com

デスクトップなど適当な場所に展開したら、あとは"ehentai-dl"をクリックして実行してください。 これで準備完了です。

MacOS X

少々Windowsよりも手順が面倒になります。ご了承ください。

【手順①】

インストール作業の簡略化のため、Homebrewを入れていることにご注意ください。 ターミナルを立ち上げて、以下のコマンドでHomebrewおよびダウンローダの導入が完了します。

円数字マーク以降をコピペして、順番に実行してください。

① /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

② brew install wget

③ brew cask install chromedriver

④ cd ~

⑤ wget https://www.dropbox.com/s/imhj8uk6tls0kaf/ehentai-dl.zip

⑥ unzip ehentai-dl.zip

⑦ chmod +x ehentai-dl/ehentai-dl

⑧ chmod +x ehentai-dl/bin/ehentai-cmd

【手順②】

完了後、Macに標準でインストールされているAutomatorを使って導入済みのE-Hentaiへのリンクをつくります。これによって、クリックひとつでehentai-dlを呼び出せるようになります。

参考: www.searchlight8.com

『シェルスクリプトを実行』を選び、以下のコマンドを登録して保存します。

~/ehentai-dl/ehentai-dl

f:id:incodethx3932:20190203204641p:plain

デスクトップなど、任意のところにこれを置いて、クリックすればいつでもダウンローダを呼び出せるようになります。

f:id:incodethx3932:20190203204906p:plain

これで準備完了です。

使用方法

ダウンロード画面でehentai.orgもしくはexhentai.orgのURLを追加します。 URLは画像全体が見えるギャラリーページ、もしくは途中の画像ページのいずれでも構いません。 どちらの場合でもファイル全体を取得しに行きます。

URLを追加したら、『ダウンロード開始』をクリックします。するとターミナルが出現し、画像のダウンロードが開始します。デフォルトの保存先はでは『ドキュメント』フォルダとなっています。そして、作品ごとにフォルダを作成し、画像を保存します。

画像の保存先

デフォルトでは、Macだと書類フォルダ、Windowsだとドキュメントフォルダとなります。"E-Hentai_Downloads"というフォルダが作成され、その中にタイトルごとにフォルダ分けされます。

exhentai.org対応方法

今回実装したダウンローダはexhentai.orgからの画像ダウンロードに対応しています。画像ダウンロードをするためには、e-hentaiログイン時のcookie情報の入力が必要となります。

cookie情報を得るための手順は、以下記事が詳しいです。

exhentai.blog.jp

上記の記事を参考にして、"ipb_member_id"と"ipb_pass_hash"の文字列を控えておいてください。ツール『設定』タブを開き、控えておいた"ipb_member_id"と"ipb_pass_hash"の値をテキストボックスに入力して、設定を保存します。保存後はダウンローダを閉じ、再度起動してください。

f:id:incodethx3932:20190205003627p:plain

これで、準備完了です。あとはexhentai.orgのURLを入力するだけでダウンロードできるようになります。

ehentai.orgのダウンロード上限について

ehentai.orgでは、接続元(おそらく接続IP)ごとに時間あたりのダウンロード上限が設定されており、短時間に大量の画像をダウンロードする場合に途中でダウンロードが失敗するようになることがあります。この場合にはダウンロード上限にかかっている可能性が高いです。時間を空けてから再度ダウンロード実行するか、可能なら他の回線・Wifiスポットを利用するなどの方法を推奨します。

ダウンローダの実装中、Tor使用によるダウンロード上限回避を試みました。しかし、Torのプロキシからehentai.orgに接続した場合はボット対策のreCAPTCHA画面が出て回避できないことが判明しています。

現状、僕にreCAPTCHA突破可能なAIをつくる技術力はありませんので、『ダウンロード上限を回避するようにしてほしい』というリクエストにはお応えできません。ご了承ください。

f:id:incodethx3932:20190205170209j:plain
こういうの

注意事項および不具合報告について

  • exhentai.orgのコンテンツをダウンロードしたことがない場合は、まず1つのダウンロードが成功するかをお試しください。
  • ダウンローダが動作しなくなる恐れがあるので、ファイル・フォルダ構成は変更しないでください。
  • リクエスト等に即時対応はできません。検討はいたしますが、必ず対応することの保証はできませんのでご注意ください。
  • インストール時の初歩的な疑問については、なるだけご自身での対応をお願いします。

ある程度は動作確認をしておりますが、個人プロジェクトである都合上、どの環境においても必ず動作を保証できるものではありません。もしもエラー等でダウンロード開始できない場合には、まずはURLが正しいこと、及びインターネット接続ができていることを確認した上で不具合報告をお願いいたします。

不具合報告時にはエラーメッセージの文面、またはキャプチャ画像があると非常に助かります。

エラーメッセージについて

すべてではありませんが、いくつか遭遇する可能性の高いものを挙げていきます。

  • 入力されたURLが正しくない。(e-hentai.orgまたはexhentai.orgのものでない) f:id:incodethx3932:20190205205409p:plain

  • ギャラリーのURLは存在するが、コンテンツが削除されている。 f:id:incodethx3932:20190205205202p:plain

  • cookieの値をセットする必要あり(exhentai.orgの場合のみ) f:id:incodethx3932:20190205210017p:plain

  • cookieの値に誤りがある、または想定しない構造のページ f:id:incodethx3932:20190205205733p:plain

  • リトライ回数上限のため、ダウンロードを中止(※ダウンロード上限に達している可能性あり) f:id:incodethx3932:20190205212921p:plain