初心者のWEBデザイン

HTML,CSS、その他WEBデザインに関する事を記述していきます

20150411143621

Python Requests・BeautifulSoup 健忘録

スクレイピングで便利なRequests・BeautifulSoupの使い方を忘れないように残しておきます。
事前に足りないモジュールはPython用パッケージ管理システムのpipでインストールします。

スクレイピング

WebサイトからWebページのHTMLデータを収集して、特定のデータを抽出、整形し直すことである。

Requests

Python の HTTPモジュール

BeautifulSoup

取得したHTMLをパース(分解)や検索や整形したりすることができるモジュール


下記の流れで最低限のHTMLを取得することが出来ます。

import requests
from bs4 import BeautifulSoup

# アクセスするURL
url = "http://www.google.co.jp"

#RequestsのgetメソッドでwebからHTML取得
r = requests.get(url)

#要素を抽出
soup = BeautifulSoup(r.text, 'lxml')
#1行に1タグの整形されたUnicode文字列に出力
print(soup.prettify() )
#テキストだけ抽出
soup.get_text()
soup.string
soup.div.get_text()

#div要素の文字列を返る
soup.div.string
#全属性を返る 
soup.div.attrs
#親要素が返る
soup.div.parent     

#先頭のdiv要素のHTML抽出
soup.find('div')
#すべてのdiv要素のHTML抽出
soup.find_all('div')

#cssセレクターによる指定
soup.select('div#header > ul > li')   
文字列の操作
>>> '  cat  '.strip()
'cat'


>>> 'cat, dog, bird,'.split(',') 
['cat', ' dog', ' bird', '']
topへ戻る