非常に恥ずかしい画像リンクをバッチで取得してダウンロードする_PHP チュートリアル
以前、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さんのコラムより抜粋

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











はい、MySQLはWindows 7にインストールできます。MicrosoftはWindows 7のサポートを停止しましたが、MySQLは引き続き互換性があります。ただし、インストールプロセス中に次のポイントに注意する必要があります。WindowsのMySQLインストーラーをダウンロードしてください。 MySQL(コミュニティまたはエンタープライズ)の適切なバージョンを選択します。インストールプロセス中に適切なインストールディレクトリと文字セットを選択します。ルートユーザーパスワードを設定し、適切に保ちます。テストのためにデータベースに接続します。 Windows 7の互換性とセキュリティの問題に注意してください。サポートされているオペレーティングシステムにアップグレードすることをお勧めします。

MySQL接続は、次の理由が原因である可能性があります。MySQLサービスは開始されず、ファイアウォールは接続をインターセプトし、ポート番号が間違っています。ユーザー名またはパスワードが間違っています。My.cnfのリスニングアドレスは不適切に構成されています。トラブルシューティング手順には以下が含まれます。 2.ファイアウォール設定を調整して、MySQLがポート3306をリッスンできるようにします。 3.ポート番号が実際のポート番号と一致していることを確認します。 4.ユーザー名とパスワードが正しいかどうかを確認します。 5. my.cnfのバインドアドレス設定が正しいことを確認してください。

MySQLのインストールエラーのソリューションは次のとおりです。1。システム環境を慎重に確認して、MySQL依存関係ライブラリの要件が満たされていることを確認します。異なるオペレーティングシステムとバージョンの要件は異なります。 2.エラーメッセージを慎重に読み取り、依存関係のインストールやSUDOコマンドの使用など、プロンプト(ライブラリファイルの欠落やアクセス許可など)に従って対応する測定値を取得します。 3.必要に応じて、ソースコードをインストールし、コンパイルログを慎重に確認してみてください。これには、一定量のLinuxの知識と経験が必要です。最終的に問題を解決する鍵は、システム環境とエラー情報を慎重に確認し、公式の文書を参照することです。

MySQLのインストール障害の主な理由は次のとおりです。1。許可の問題、管理者として実行するか、SUDOコマンドを使用する必要があります。 2。依存関係が欠落しており、関連する開発パッケージをインストールする必要があります。 3.ポート競合では、ポート3306を占めるプログラムを閉じるか、構成ファイルを変更する必要があります。 4.インストールパッケージが破損しているため、整合性をダウンロードして検証する必要があります。 5.環境変数は誤って構成されており、環境変数はオペレーティングシステムに従って正しく構成する必要があります。これらの問題を解決し、各ステップを慎重に確認して、MySQLを正常にインストールします。

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

Photoshopで垂直ガイドを引く:ルーラービューを有効にします(ビュー>ルーラー)。マウスをルーラーの垂直エッジの上にホバリングし、次にカーソルが二重矢印を備えた垂直線になり、マウスを保持してドラッグして基準線を引き出します。ガイドをドラッグして[削除]をクリックするか、クロスにホバリングします。

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

MySQLダウンロードは、ディスク書き込みエラーをプロンプトします。ソリューションは次のとおりです。1。ディスクスペースが不十分かどうかを確認するか、スペースをクリーンアップするか、大きなディスクを交換します。 2.ディスク検出ツール(CHKDSKやFSCKなど)を使用して、ディスクエラーを確認および修正し、必要に応じてハードディスクを交換します。 3.ターゲットディレクトリの権限を確認して、ユーザーアカウントに書き込み権限があることを確認します。 4.ダウンロードツールまたはネットワーク環境を変更し、ダウンロードマネージャーを使用して中断されたダウンロードを復元します。 5.ウイルス対策ソフトウェアまたはファイアウォールを一時的に閉じ、ダウンロードが完了した後に再度に再び可能になります。これらの側面を体系的にトラブルシューティングすることにより、問題を解決できます。
