見出し画像

Pythonでスクレイピング【初心者】1−1

みなさんこんにちわAIくんです。

今回はですね、スクレイピングについて書いていこうかなと思います。

スクレイピングって使えば使うほど楽してデータを集められるし、

自分でわざわざ1サイト1サイトアクセスするのめんどくせーとか

思っちゃうんで、勉強します

流れ

①ライブラリーのimport

②画像のダウンロード

③ファイルへの保存

今回はこんだけです。

ホントに初級編ですね

urllib使ってHTTPやFTPを利用してデータをダウンロードしたり、

ほんとにシンプルです。

ぜひ初心者の方は試してみてください

まずはライブラリーのインポートと変数の定義です。

import urllib.request   
url = 'https://www.watch.impress.co.jp/img/ipw/docs/1246/569/ag1_o.jpg'
savename = 'test.png'

url変数とsavename変数を作ります。

urlは表示したい画像のURLを持ってきてください。

savenameはファイルの保存名です。

〈画像のURLのコピー

スクリーンショット 2020-07-05 23.12.32

こんな感じで欲しい画像にマウスを合わせて右クリック(Maxの方はマウスパッドを2本指で押す)すると、「画像のアドレスをコピー」と出てくるので、URLをコピーしてurl変数に代入してください。

ファイル形式はおそらく「png」か「jpg」です。ついてない場合画像としてコピーしていないのでもう一度コピーしてください。


今回はurlopen()関数を使って画像のダウンロードをします。

この関数は直接URLを指定せずそのURLが存在した場合にPyhonのメモリー上に取得され、その後、明示的にそれをファイルに保存します。

つまり、データが取得できたら画像保存するよということ。

それではダウンロードしていきます。

mem = urllib.request.urlopen(url)
data = mem.read()

上のコードは画像urlをurlopen()関数で処理しmem変数に代入してます。

次にread()関数でデータを読み込んでます。このコードは1つにまとめることもできます。

mem = urllib.request.urlopen(url).read()

次にファイルに保存します。

with open(savename, mode='wb') as f:
   f.write(mem)
   print("保存完了")

ここまでがネットで画像のURLを持ってきてその画像をファイルに保存するまでの流れになります。

関数にまとめました

def img_collect(url, savenam):
  mem = urllib.request.urlopen(url).read()
  
  with open(savenam, mode = 'wb') as f:
    f.write(mem)
    print('保存完了')
 return savenam

A_G_url = 'https://www.watch.impress.co.jp/img/ipw/docs/1246/569/ag1_o.jpg'
img_collect(A_G_url, 'test.jpg')

今回はここまでです。

次回はあるページからリンクされている画像やページをすべてダウンロードする方法をメモしていきたいと思います。

今回の記事が少しでも良かったためになったと思った方は「いいね」、「フォロー」よろしくおねがいします。

いいねされると本当にモチベーションになるので宜しくおねがいします!

では











この記事が気に入ったらサポートをしてみませんか?