ホームページ  >  記事  >  バックエンド開発  >  Python を使用して画像データを収集するにはどうすればよいですか?

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

PHPz
PHPz転載
2023-05-09 09:34:161582ブラウズ

リクエストの送信

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 までご連絡ください。