Python BeautifulSoup WEBスクレイピング エラー時の対応

PythonでBeautifulSoupを使用しWEBスクレイピングするサンプルです。
今回はhttpにアクセスするがエラーとなった場合の例外処理を前回のサンプルに実装します。


前回のサンプル

例外処理はJavaやC#と同様にtry文で実装します。
エラーで考えられる処理を実装しますが、今回はURLが存在しない場合や、HTTP通信時になんらかしらの原因で
エラーなった場合の対処です。

エラーとなった場合に、例外処理をいれないと以下の様になります。
err

 

 

 

 

 

①インポートの追加
from urllib.error import HTTPError
from urllib.error import URLError

➁インポートしたパッケージでエラー処理を追加

実装ソースは以下です。

from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib.error import HTTPError
from urllib.error import URLError

try:
    html = urlopen("http://www.sakutyuu.com1/")
except HTTPError as e:
    #エラーの場合の処理
    print(e)
except URLError as e:
    #エラーの場合の処理
    print("URLに接続するが処理できない")
else:
    bsObj = BeautifulSoup(html)
    h1List = bsObj.findAll("h1")
    for h1 in h1List:
        print(h1.get_text())

例外処理実装後は以下のキャプチャーの表示となります。

error1

 

 

 

 

 

 

 

 

 

 

 


Bookmark this on Yahoo Bookmark
Bookmark this on Google Bookmarks
Share on LinkedIn
LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>