■目次
導入Beautiful Soup
■導入
■XAMPPでPythonを動作させるメモ http://refirio.org/view/358 2017年2月の時点で、この方法でPython+MySQLを動作させることができた(Bottleフレームワークは未検証) ただし今ならVer3でいいかも。 2018年なら、以下も参考にできそう 2018年のPythonプロジェクトのはじめかた - Qiita https://qiita.com/sl2/items/1e503952b9506a0539ea ■「import urllib」でエラー 「import urllib.request」となっている箇所を「import urllib」にして、 「urllib.request.urlretrieve」となっている箇所を「urllib.urlretrieve」にしたら何故か動いた。 Ver3から命令が整理されているらしい。 ■pip(Pythonのパッケージ管理システム) >python -m pip -V … pipのインストールを確認 pip 8.1.1 from C:\Python27\lib\site-packages (python 2.7)
■Beautiful Soup
インストール >python -m pip install beautifulsoup4 HTMLの解析
# coding: UTF-8 # ライブラリの取り込み from bs4 import BeautifulSoup # 解析したいHTML html = """ <html> <body> <h1>スクレイピングとは</h1> <p>Webページを解析すること。</p> <p>任意の箇所を抽出すること。</p> </body> </html> """ # HTMLを解析する soup = BeautifulSoup(html, 'html.parser') # 任意の部分を抽出する h1 = soup.html.body.h1 p1 = soup.html.body.p p2 = p1.next_sibling.next_sibling # 要素のテキストを表示する print "h1 = " + h1.string print "p = " + p1.string print "p = " + p2.string # 完了 print "OK"
簡単なクロール
# coding: UTF-8 # ライブラリの取り込み from bs4 import BeautifulSoup import urllib # ダウンロード res = urllib.urlopen("http://stocks.finance.yahoo.co.jp/stocks/detail/?code=usdjpy") # HTMLを解析する soup = BeautifulSoup(res, 'html.parser') # 任意の部分を抽出する price = soup.select_one(".stoksPrice").string # 要素のテキストを表示する print "usd/jpy = " + price # 完了 print "OK"