読者です 読者をやめる 読者になる 読者になる

まゆたまガジェット開発逆引き辞典

電子工作やプログラミングのHowtoを逆引き形式で掲載しています。作りたいモノを決めて学んでいくスタイル。プログラマではないので、コードの汚さはお許しを

Google検索を使ってTwitter検索してヒット数を表示

以前Objective-C用に書いたモノSwift移植です。辞書と配列は大変だった・・・
TwitterSearchAPIはヒット数まで出してくれないっぽいので、強引にGoogle検索に突っ込んでます。
println(responseData)とやると検索結果すべてのデータが取れるので、そこから余分な部分をカットします。
検索ヒット数=パワーみたいな。結果はすごく正確ではないと思われます。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
         //つぶやきを検索してヒット数を出す
         searchTw()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    func searchTw() {
         //キーワード
        var searchKey: String = "荀イク"
        //日本語の場合は文字コードを変換
        let searchQuery: String = searchKey.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
      
        var urlString1 = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q="
        var urlString2 = "+site:http://twitter.com"
        
     //デフォのGoogle検索はhttp://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=荀イク
        
        //Google検索でTwitterを検索する用URL(ajax)、実際はhttp://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=荀イク+site:http://twitter.com
        var urlStringAll:String = urlString1 + searchQuery + urlString2
        
        //urlStringAllで設定したアドレスにアクセスする設定をする
      var searchURL1 = NSURL(string: urlStringAll)
        if let searchURL2 = searchURL1 {
            var searchURLReq = NSURLRequest(URL: searchURL2)
           println("OK")
            NSURLConnection.sendAsynchronousRequest(searchURLReq, queue: NSOperationQueue.mainQueue(), completionHandler: self.getHttp)
        } else {
            // URLがなかったときの処理
            println("NG")
        }
        
    }
    
    func getHttp(res:NSURLResponse?,data:NSData?,error:NSError?){
       
        
        
      //jsonで解析する
        var searchdict = NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers, error: nil) as! NSDictionary
       
         //「responseData」キーを取り出す
     var responseData = searchdict["responseData"] as! NSDictionary
      
    //「cursor」キーを取り出す
        var cursor = responseData["cursor"] as! NSDictionary
        
         //ヒット数に近いと思われる「estimatedResultCount」キーを取り出す
       var countData: NSString = cursor.objectForKey("estimatedResultCount") as! NSString
        
//アバウトなヒット数表示
         println(countData)
        
    }


}