タグ

ブックマーク / taichino.com (3)

  • BeautifulSoupでスクレイピングのまとめ – taichino.com

    何度かBeautifulSoupについては書いているのですが、未だに使い方が覚えられずにイライラします。仕方が無いのでまとめて置く事にしました。BeautifulSoupはHTMLから情報を取得するだけ無く、HTMLの編集もできますが、ここではスクレイピング用途のみに絞っています。 使用するのは以下のHTMLです。 このHTMLを使って色々と情報を取得したのが以下です。覚えるべきはfindAllだけです。注意する必要があるのは、textを指定した場合にタグオブジェクトが取れずに、テキストオブジェクトが取れるので、一旦parentで親のタグ取りましょうという事と、正規表現で条件指定する場合は、re.compileで正規表現オブジェクトを渡すという事位ですか。 #!/usr/bin/python # -*- coding: utf-8 -*- import re import urllib f

  • Pythonで実行時間とメモリの測定をする – taichino.com

    しばらくベンチマークコードを書いてなくてすっかり忘れていたので、メモ書きです。今回は例題として、yahooのこのページをBeautifulSoupとlxmlでのスクレイピング比較をしてみる事にしました。比較対象の関数は以下の通りです。どちらのコードも入力・出力ともに同じなので、どちらが実行時間やメモリ使用量が少ないのかを知りたくなりますね。 # BeautifulSoup def scrape_with_bs(html): from BeautifulSoup import BeautifulSoup soup = BeautifulSoup(html) rows = soup.find('table', attrs={'class':'channel9'}).findAll('tr') channels = rows[0].findAll('td', attrs={'class':'st

  • pythonで署名付きリクエストを送る(2-legged OAuth) – taichino.com

    最近、色んなサービスの認証シーンでOAuthをよく見かけます。例えばTwitterのアカウントを使って、全く別のマッシュアップサービスを使うような場合に使われていて、ユーザの予期せぬ権限委譲が話題にもなりましたね。 ところで普通OAuthと言うと、Provider(Twitter), Consumer(マッシュアップサービス), Userの3者間で認証を行うものだと思っていたのですが、実はProviderとConsumerの2者間での認証に使われる場合もあります。 前者は3-legged OAuthやOAuth Coreと、後者は2-legged OAuthとかOAuth Consumer Requestと呼ばれているようです。ここでは後者の認証をpythonでやります。 (※)以下の2-legged OAuthは署名アルゴリズムにHMAC-SHA1を使っているものとします。(他のアルゴリ

  • 1