ホームページ バックエンド開発 PHPチュートリアル 非常に恥ずかしい画像リンクをバッチで取得してダウンロードする_PHP チュートリアル

非常に恥ずかしい画像リンクをバッチで取得してダウンロードする_PHP チュートリアル

Jul 13, 2016 pm 05:48 PM
windows ダウンロード そして 写真 存在する 壁紙 バッチ Webサイト 得る リンク

以前、Windows では、壁紙 Web サイトや美しい女性の QQ フォト アルバムにアクセスしたり、情熱的な美人写真 Web サイトから写真をダウンロードしたりすることが多く、右クリックして「名前を付けて保存」する必要がありました。古典的な写真のセットに遭遇した場合、このような操作を繰り返すと、間違いなくダウンロードする意欲を失います。その後、DownloadThemAll と思われる Firefox 用のプラグインを使用しました(覚えていないのですが、Web リンクを一括でダウンロードするためのもので、形式をフィルタリングして画像をダウンロードできます)。これを Thunder と組み合わせて使用​​します。画像のダウンロードの効率を大幅に向上させることができます(ただし、ページ画像が小さすぎる場合、ダウンロード後に不要なファイルをフィルタリングして削除するのに時間がかかります)。今は Ubuntu を使っていますが、Windows も Thunder も持っていませんし、Firefox ももう何年も使っていません。 Web ページから美しい写真をバッチでダウンロードするにはどうすればよいでしょうか? Chrome でそのようなプラグインを探していましたが、残念ながら IMG インスペクター プラグインしか見つかりませんでした。このプラグインの仕組みは、ベース URL を定義し、プレースホルダーを使用し、定義されたステップ サイズとサイクル範囲を再生成することです。リンクしてプレビューします。この機能は弱すぎると言わざるを得ません。画像セットの URL ですら必ずしも規則的ではないため、この方法はお勧めできず、実用的ではありません。
そこで、その後 Chrome プラグインの開発を学んで自分で作ろうと考えたのですが、残念ながらあまりやる気がありませんでした。また、Chrome プラグインが画像のダウンロードの問題を解決できるかどうかもわかりません。ダウンロードするためにクライアント ダウンロード ソフトウェアを呼び出すのか、ネイティブ ブラウザを呼び出すのか、さらに、この方法では、Chrome API の高度なメソッドをいくつか学ばなければなりません。と開発費が一気に嵩みます。それから諦めた。そこで私は気持ちを切り替えて考え続けました。次に、いくつかの難しい問題を 1 つずつ分解して分析します (環境: UBUNTU+CHROME/FIREFOX):

1) 現在のページの画像アドレスを取得するにはどうすればよいですか?

これを行う最も簡単な方法は、Chrome コンソールまたは Firebug でスクリプトを実行することです。また、強力なオープン ソース フレームワークである SimpleHtmlDom などの Web クローラー ツールを使用することも考えました (jquery に精通している場合は、このフレームワークを使用すると、次のことが可能になります)。サーバー側で jquery を使用してラベルを取得すると非常に便利です)。ただし、これは効率が少し劣る可能性があります。複雑さも少し増加しました。

2) 現在のページの画像サイズが私の「食欲」に合っているかどうかを判断するにはどうすればよいですか?

この質問を採点する際には 2 つの状況を考慮する必要があります: Web ページの画像は通常、サムネイルと元の画像に分けられます。通常、サムネイルには元の画像へのリンクが付いています。つまり、img タグを a タグでラップするには、img タグの src 値の代わりに a タグの href 値を取得する必要があります。通常、元の画像は単なる img タグであるため、width を使用できます。これらの画像をフィルタリングするための Image オブジェクトの高さと。サムネイル フィルタリングの場合、新しい Image オブジェクトを src の値に設定し、その高さと幅をフィルタリングできます。ただし、このような画像は一般に非常に大きいので、通常はフィルタリングしません。逆に、ロゴやボタンの画像の多くはリンクで囲まれた小さな画像であるため、フィルタリングする可能性が最も高いのは a タグ内の img オブジェクトです。

3) 写真をダウンロードするにはどうすればよいですか?

上記の 2 つの手順は、コンソール スクリプト プログラムを使用して完了します。コード全体は 10 行を超えません (jquery カメラの読み込みコードを含む)。最後に、現在のページでフィルタリングした後の画像のアドレスを手間をかけずに取得できます。残念ながら、アドレスを取得するのはこのステップだけでは役に立ちません。実際に役に立たないステップは、これらの写真をローカル マシンに一度にダウンロードする方法です。 Chrome プラグインの開発方法と、Chrome がシステム メソッドを呼び出す方法を知っていれば (実際のところ、Chrome でそれができるかどうかはわかりません。ブラウザのセキュリティ制限が十分に厳しい場合、これは間違いなく機能しません)。強力なダウンローダーである wget についてはよくご存知でしょう。これは簡単に解決できます。残念ながら、最初の 2 つは詳しくありませんが、すべての道はローマに通っていて、別の道があるはずです。

4) コンソールの上を飛んでください

今、私たちの考えはChromeコンソールに詰まっています。たくさんの画像リンクがありますが、それらをダウンロードする方法がわかりません(実際には、それらは現在のウィンドウにある単なる画像リンクです)。私は常に Chrome プラグインの開発についていくつかの幻想を抱いてきましたが、残念ながら学習意欲がなく、Chrome と同じくらい安全で厳密なブラウザで js がクライアントと対話できるのかどうか、常に疑問に思っていました。

そこで、私は一歩下がって問題について考え始めました。ファイルをダウンロードする代わりに、これらのファイルを後で読める場所にローカルに保存するだけで済みました。そこで、このアイデアは html5 のローカル ストレージ localStorage とローカル データベースに続き、Google Gears のローカル データベースも検討されましたが、その後、それは複雑すぎるか、実現不可能であることがわかりました。ゆっくりと、私の考えは単純な方向、つまり jQuery、そう、彼です -- $.getJSON() へと移り始めました。画像アドレスをドメインを越えてローカル Web サイトに送信し、バックグラウンドでダウンロードできれば十分ではないでしょうか?そこで、すぐに Code Igniter を使用して Web サイトを作成しました。コントローラーにメソッドを 1 つだけ含む PHP コントローラー クラス ファイルを追加しただけで、コードは 10 行を超えませんでした。コードの機能は、すべての画像リンクをラップし、テキスト ファイル (urls.txt) に書き込むことだけです。

5) 無敵のダウンローダー

もうすぐ終わりですが、もしかしたら誰かが私に尋ねたかもしれませんが、まだ写真をダウンロードできていないのですか?へー、nb 文字がもうすぐ登場します: wget -i -b urls.txt。ターミナルに Web サイトのディレクトリを入力してこのコマンドを実行すると、テキスト ファイルの各行の画像アドレスがバックグラウンドで自動的にダウンロードされます。

PS: 数日前、私はこのコマンドに慣れていませんでしたが、実験のために H ネットワークを使用し、バックグラウンドで 1.1G のポルノ画像をサイレントにダウンロードするためにパラメータを悪用しました。後でプロセスを強制的に強制終了する必要があることがわかりました。 。つまり、このコマンドは Web サイトのコンテンツをダウンロードするのに非常に強力です。 Linux を使用している場合、このコマンドは非常に邪悪であり、その気になれば悪いこともできます。

6) 恥ずかしくないのですか?

この操作プロセスは本当に恥ずかしいです。

囧1: a) ローカル Web サイトを展開します -- 》 b) 右クリックして Chrome コンソールまたは Firebug を開きます -- >> c) スクリプトをコピーします -- >> d) 貼り付け -- >> e) Enter -- f >> 開くターミナル -- g》wget。この操作は、多くの写真 (サムネイル、写真のセット) を含む Web ページの場合に非常に便利です。しかし、10 個の Web ページを開いた場合、各ページは操作 b、d、e を実行する必要があります。このスクリプトを Chrome プラグインにしてブラウザに埋め込むことができれば、ページを開くという少なくとも 2 つのステップを節約できます。プラグイン アイコンを手動でクリックするか、スクリプトを自動的に実行するように設定します。これにより、使いやすさが大幅に向上します。

囧2: wget ステップを保存し、PHP バックグラウンドで直接ダウンロードを実行する方法。これには、php を使用して ubuntu システム メソッドを呼び出すことを検討する必要があります。私はそれに慣れていないため、勉強する必要があります。

囧三: Web サイトを展開する手順を節約する方法 Web サイトが必要な根本的な理由は、Cookie を検討しましたが、サイズ制限が問題です。画像アドレスが 100 を超えるのは通常です (特に中国語を含む)。保管後のアクセスの容易さの問題も考慮する必要があります。

これらの問題はまだ検討されておらず、現在は囧二の実装を検討しているところです。実際、このプロセスでは技術自体はあまり向上しませんでしたが、後からプロセス全体を振り返ってみると、問題に直面したときの考え方や方法論が大きく改善されていることがわかりました。誰でも議論することを歓迎します!


Hurryさんのコラムより抜粋

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478448.html技術記事以前、Windows では、壁紙 Web サイトや美しい女性の QQ フォト アルバムにアクセスしたり、情熱的な美人写真 Web サイトから写真をダウンロードしたりすることがよくありました。場合によっては、右クリックして名前を付けて保存する必要がありました。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ターミナルからMySQLにアクセスできません ターミナルからMySQLにアクセスできません Apr 08, 2025 pm 04:57 PM

端末からmysqlにアクセスできない場合は、次の理由があります。MySQLサービスが実行されていません。接続コマンドエラー;許可が不十分です。ファイアウォールは接続をブロックします。 mysql構成ファイルエラー。

mysqlをコピーして貼り付ける方法 mysqlをコピーして貼り付ける方法 Apr 08, 2025 pm 07:18 PM

MySQLのコピーと貼り付けには、次の手順が含まれています。データを選択し、Ctrl C(Windows)またはCMD C(MAC)でコピーします。ターゲットの場所を右クリックして、貼り付けまたはCTRL V(Windows)またはCMD V(MAC)を使用します。コピーされたデータは、ターゲットの場所に挿入されるか、既存のデータを置き換えます(データが既にターゲットの場所に存在するかどうかに応じて)。

Windows 8でコードを実行できます Windows 8でコードを実行できます Apr 15, 2025 pm 07:24 PM

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

Laravelの複雑な属性の関係の問題を解決する方法は? Composerを使用してください! Laravelの複雑な属性の関係の問題を解決する方法は? Composerを使用してください! Apr 17, 2025 pm 09:54 PM

Laravel Developmentでは、特にマルチレベルの属する関係に関しては、複雑なモデル関係に対処することは常に課題でした。最近、私はこの問題に、従来のHasManyThrough関係がニーズを満たすことができず、データクエリが複雑で非効率的になることになっているマルチレベルモデル関​​係を扱うプロジェクトでこの問題に遭遇しました。いくつかの探索の後、私は図書館がStaudenmeir/属していることを発見しました。

コードを書いた後に崇高に実行する方法 コードを書いた後に崇高に実行する方法 Apr 16, 2025 am 08:51 AM

Sublimeでコードを実行するには6つの方法があります。ホットキー、メニュー、ビルドシステム、コマンドライン、デフォルトビルドシステムの設定、カスタムビルドコマンド、プロジェクト/ファイルを右クリックして個々のファイル/プロジェクトを実行します。ビルドシステムの可用性は、崇高なテキストのインストールに依存します。

DebianのTigervncによってサポートされているオペレーティングシステム DebianのTigervncによってサポートされているオペレーティングシステム Apr 12, 2025 pm 10:15 PM

オープンソースのVNCツールTigervncは、Windows、Linux、MacOを含む幅広いオペレーティングシステムと互換性があります。この記事では、DebianシステムへのTigervncの適用を詳細に紹介します。 TigervncはDebianシステムのアプリケーションシステムに統合されています。Debianシステムでは、TigervncはVNCサーバーコンポーネントとしてシステムに統合されています。ユーザーは、VNCServerなどのコマンドラインツールを介してVNCサービスを開始し、解像度や色の深さなどの表示設定をカスタマイズできます。クロスプラットフォーム接続:TigerVNCクライアントはWindows、Linux、およびMacOをサポートしています。つまり、ユーザーはこれを任意のものから実行できます。

VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

Laravelインストールコード Laravelインストールコード Apr 18, 2025 pm 12:30 PM

Laravelをインストールするには、これらの手順を順番に進みます。コンポーザー(MacOS/LinuxとWindows用)インストールLaravelインストーラーをインストールします。

See all articles