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()
コメント