2011-07-11 27 views
1

私はプログラミングが初めてで、githubから指定されたリポジトリの情報を取得し、JSON形式のデータを解析し、それを使用可能な形式で印刷するためのRubyスクリプトを書くプロジェクトがあります。コマンドライン。Rubyを使ったWebスクレイピング

私は機械化ガイドをチェックアウトしました。これを完了するために私が確認できる文書?

+0

私はhpricotとmechanizeのみをインストールしており、他にインストールする権限はありません。 – kamenraider2

答えて

3

GithubのRepositories APIを使用してください。あなたが望むものはすべて、掻き傷や奇妙なハッキングなくそこで行われます。 JSONはデフォルトで応答をフォーマットしました。

+0

ありがとうございます。私は以前もそれを見ましたが、私はカールしていないことです。なにか提案を? – kamenraider2

+0

httpatyを@jdc、RESTClient、または単純な古いNet:HTTPのように使用してください。 –

1

@Douglasの回答に続きます。やりたいことのGitHub APIとHTTPartyの宝石を使用して簡単です:

require 'httparty' 
class Repository 
    include HTTParty 
    base_uri 'www.github.com' 
end 
response = Repository.get('/api/v2/json/repos/show/joncooper/beanstalkd') 

require 'awesome_print' 
>> ap response.parsed_response 
{ 
    "repository" => { 
       "name" => "beanstalkd", 
       "size" => 128, 
      "created_at" => "2011/04/29 09:43:43 -0700", 
      "has_wiki" => true, 
       "parent" => "kr/beanstalkd", 
       "private" => false, 
      "watchers" => 1, 
       "fork" => true, 
      "language" => "C", 
        "url" => "https://github.com/joncooper/beanstalkd", 
      "pushed_at" => "2011/07/05 22:10:53 -0700", 
      "open_issues" => 0, 
     "has_downloads" => true, 
      "has_issues" => false, 
      "homepage" => "http://kr.github.com/beanstalkd/", 
       "forks" => 0, 
      "description" => "Beanstalk is a simple, fast work queue.", 
       "source" => "kr/beanstalkd", 
       "owner" => "joncooper" 
    } 
} 

は、より多くのためにhttp://httparty.rubyforge.org/を参照してください。

関連する問題