Python を使用して画像データを収集するにはどうすればよいですか?

PHPz
リリース: 2023-05-09 09:34:16
転載
1605 人が閲覧しました

リクエストの送信

Python を使用して画像データを収集するにはどうすればよいですか?

#まず URL を決定し、開発者ツールを使用して必要なデータを見つけます。コンテンツが Web ページのソース コードにあることがわかりました。

url = 'https://www.hexuexiao.cn/tj/WuJiayi/'

res = requests.get(url)

# print(res.text)
html_url = re.findall(&#39;<a href="https://www.hexuexiao.cn/a/(\d+).html" rel="external nofollow"  >&#39;,res.text,re.S)
urls = sorted(list(set(html_url)), key=html_url.index)
ログイン後にコピー

ここでの内容html_url 変数の値は、リンクを Web サイト画像と照合するために使用される正規表現オブジェクトです。コード ブロック list(set(html_url)) リスト オブジェクトをコレクション オブジェクトに変換します。リスト オブジェクトをコレクション オブジェクトに変換するには、set() メソッドを使用します。これはメソッドです。リスト内の要素をコレクションに変換するメソッド。 html_url.index は、並べ替えを行うために html_url の各要素が元の HTML 文字列に出現する回数を表す整数オブジェクトです。

データの保存

for url1 in urls:
    for page in range(0,10):
        url2 = f&#39;https://www.hexuexiao.cn/a/{url1}-{page}.html&#39;
        # print(url2)
        res1 = requests.get(url2)
        # print(res1.text)
        url3 = re.findall(&#39;<img  src=(.*?)/ alt="Python を使用して画像データを収集するにはどうすればよいですか?" ></a>&#39;,res1.text,re.S)[0]
        print(url3)
        url3=re.sub(&#39;&#39;,"",url3)
        print(url3)
ログイン後にコピー

コード内の urls リストは辞書であり、キーは URL、値はページ番号です。ループでは、range() 関数を使用して、0 から 9 までのページ番号を繰り返します。次に、requests.get() メソッドを使用して各ページの HTML コードを取得し、正規表現を使用してすべての画像リンクを照合します。最後に、requests.get() メソッドを使用して、各画像リンクのコンテンツを取得し、ファイルに書き込みます。

画像を保存します

 content = requests.get(url3).content
        with open(&#39;图片\&#39; + str(num) + &#39;.jpg&#39;, mode=&#39;wb&#39;) as f:
            f.write(content)
ログイン後にコピー

コード内の content 変数の値は、画像リンク url3 から取得したコンテンツです。次に、with open() ステートメントを使用してバイナリ ファイルを開き、ファイルに content を書き込みます。このプロセスでは、num 変数の値は、現在のファイル内のイメージのシリアル番号です。画像の取得は、以前の音声の取得と同じであり、バイナリ ファイルとして保存されます。

このようにして、画像データが保存されます。ここでは効果は示しませんが、原理は同じで、画像のアドレスが分かれば取得できます。

以上がPython を使用して画像データを収集するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート