タグ

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

  • 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を使っているものとします。(他のアルゴリ

  • BeautifulSoupでパースエラーが出て困る件 – taichino.com

    先日BeautifulSoupを使おうとして挫折した訳ですが、そうは言ってもGAEではlxmlが使えない以上、GAE上でスクレイピングする場合は使うしかないです。htmlのパーサーなんて書く気にならないのであります。書く力が無いのであります。 しかし先日も書いたように使ってみると、割と頻繁にパースエラーが発生して処理できなくなります。例えば(http://mlb.mlb.com/stats/historical/player_stats.jsp)を実際にパースしてみると以下の様なエラーが発生します。 >>> import urllib >>> from BeautifulSoup import BeautifulSoup >>> source = urllib.urlopen('http://mlb.mlb.com/stats/historical/player_stats.jsp').r

  • BeautifulSoupを使ってみたけど挫折した件 – taichino.com

    もっぱらHTMLからの情報取得はWeb::Scraperな訳ですが、GAE上でもスクレイピングできたら嬉しいのでBeautifulSoupを使ってみたのですが挫折したメモ書きです。 まずは手始めに以下のscraperでYahoo Japanのトップページから タイトルとtopicsのURLを取得するperlスクリプトを移植してみる事にしました。 #!/usr/bin/perl use strict; use warnings; use LWP::Simple; use Web::Scraper; use YAML; my $content = get("http://yahoo.co.jp"); my $scraper = scraper { process '//title', 'title' => 'TEXT'; process '//a[@href =~ /.+topics.+/]'

  • 1