ホームページ > バックエンド開発 > Python チュートリアル > Python クローラーの入門: Web 画像のクロール

Python クローラーの入門: Web 画像のクロール

WBOY
リリース: 2022-07-11 12:06:36
転載
2953 人が閲覧しました

この記事では、Python に関する関連知識を提供します, 主に Web 画像のクロールに関連する問題を整理します. データを効率的に取得するために、クローラーは非常に使いやすく、Python を使用してクローラーを作成しますも非常に簡単で便利です。簡単な小さなクローラー プログラムを通して、クローラーを作成する基本的なプロセスを見てみましょう。一緒に見てみましょう。皆さんのお役に立てれば幸いです。

Python クローラーの入門: Web 画像のクロール

[関連する推奨事項: Python3 ビデオ チュートリアル ]

この情報爆発の時代において、効率的にデータを取得したい場合は、クローラーはとても便利です。 Python を使用してクローラを作成することも非常に簡単で便利です。単純な小さなクローラ プログラムを通じて、クローラを作成する基本プロセスを見てみましょう:

準備

Language: python

IDE: pycharm

最初に使用するライブラリは、初心者向けの最も簡単なプログラムなので、主に次の 2 つを使用します。 #

import requests //用于请求网页
import re  //正则表达式,用于解析筛选网页中的信息
ログイン後にコピー
その中には Python が付属しており、リクエスト ライブラリは自分でインストールする必要があります。コマンド ラインに pip install リクエストを入力するだけです。

次に、ランダムな Web サイトを見つけます。プライバシーに関わる情報をクロールしようとしないように注意してください。これが絵文字パッケージ Web サイトです:

注: ここの絵文字パッケージ Web サイトのコンテンツはダウンロードできます。したがって、クローラーはプロセスを 1 つずつ簡素化するだけです。有料リソースをクロールしないように注意してください。

#私たちがしなければならないことは、クローラーを通じてこれらの絵文字をコンピューターにダウンロードすることです。

クローラ プログラムの作成

まず、Python 経由でこの Web サイトにアクセスする必要があります。コードは次のとおりです:

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0'
    }
response = requests.get('https://qq.yh31.com/zjbq/',headers=headers)  //请求网页
ログイン後にコピー
ヘッダーを追加する必要がある理由このセクションは、一部の Web ページがあなたを認識するためです。これは Python を通じてリクエストされ、拒否されるため、通常のリクエスト ヘッダーを変更する必要があります。ランダムに 1 つを見つけることも、f12 を使用してネットワーク情報から 1 つをコピーすることもできます。

次に、Web ページ コード内でクロールする画像の場所を見つける必要があります。f12 でソース コードを確認し、次のように絵文字パッケージを見つけます。

## 次に、一致ルールを作成し、中央の文字列を正規表現に置き換えます。最も単純なものは、*?

t = '<img src="(.*?)" alt="(.*?)" width="160" height="120">'
ログイン後にコピー

のようになります。

その後、re ライブラリの findall メソッドを呼び出して、関連するコンテンツをクロール ダウンできます:

result = re.findall(t, response.text)
ログイン後にコピー

返されたコンテンツは文字列で構成されるリストです。最後に、Python を使用してアドレスにクロールしました。画像をダウンロードしてフォルダーに保存するだけです。

プログラム コード

import requests
import re
import os

image = '表情包'
if not os.path.exists(image):
    os.mkdir(image)
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0'
    }
response = requests.get('https://qq.yh31.com/zjbq/',headers=headers)
response.encoding = 'GBK'
response.encoding = 'utf-8'
print(response.request.headers)
print(response.status_code)
t = '<img src="(.*?)" alt="(.*?)" width="160" height="120">'
result = re.findall(t, response.text)
for img in result:
    print(img)
    res = requests.get(img[0])
    print(res.status_code)
    s = img[0].split('.')[-1]  #截取图片后缀,得到表情包格式,如jpg ,gif
    with open(image + '/' + img[1] + '.' + s, mode='wb') as file:
        file.write(res.content)
ログイン後にコピー

最終結果は次のようになります:

##[関連する推奨事項: Python3 ビデオ チュートリアル

]

以上がPython クローラーの入門: Web 画像のクロールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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