PythonのBeautifulSoupでスクレイピングする方法

スポンサーリンク

PythonでスクレイピングをしたいときはBeautifulSoupを使うのが最も簡単なのではないかと思います。

BeautifulSoupでスクレイピングする方法をメモ用として残しておきます。

テンプレート

from bs4 import BeautifulSoup
from urllib import request
from urllib.request import urlopen
import time

url='https://www.URLを記述'
response=request.urlopen(url)
time.sleep(1)
soup=BeautifulSoup(response,'html.parser')
response.close()

searchList=soup.find_all('タグ名',class_='クラス名')

searchList_0=searchList[0].get_text()

解説

#モジュールのインポート
from bs4 import BeautifulSoup
from urllib import request
from urllib.request import urlopen

#アクセスしたいページのURLをシングルクオーテーションで囲む
#for i in range(n):
#    url='https://www.---'+str(i)+---'
#のような形で複数のページに繰り返しアクセスをしてデータを取ることも出来る
url='https://www.URLを記述'

response=request.urlopen(url)

#対象のページにアクセスすると相手のサーバーに負荷がかかるため、アクセスの間隔を1秒以上開けるためにtime.sleep(1)を書く
time.sleep(1)

#parserに関して詳しい説明は省略
#この段階でアクセスしたページのhtmlコードを取得できたことになる
#htmlコードはsoupに格納した
soup=BeautifulSoup(response,'html.parser')

#htmlコードを取得して用が済んだら接続を切る
response.close()

#htmlコードの中から必要なデータを取得する
#GoogleChromeで取得したいデータ上で「右クリック」→「検証」でタグ名(<>で囲まれた部分)とclass名を確認する
#取得結果はリスト型で取得される
searchList=soup.find_all('タグ名',class_='クラス名')

#取得結果の1番目の文字を取り出したい場合の例
searchList_0=searchList[0].get_text()

コメント

タイトルとURLをコピーしました