使用Swift获取网站数据

Ale*_*lex 2 web-scraping ios nsurlsession swift

我试图使用a NSURLSession从espn中提取一些数据,但我似乎无法让它工作.它只打印nil.

我已经在他们的网站上用另一个页面测试了这个方法并且它有效,但我无法使用代码中的那个.这是有问题的代码:

var url = NSURL(string: "http://espn.go.com/golf/leaderboard?tournamentId=2271")

if url != nil {

    let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in

        print(data)

        if error == nil {

            var urlContent = NSString(data: data, encoding: NSUTF8StringEncoding) as NSString!

            print(urlContent)
Run Code Online (Sandbox Code Playgroud)

我也尝试过更改无法正常工作的编码类型.它打印的数据看起来像是UTF 8格式,所以我认为这不会起作用,但觉得我应该尝试.

我觉得我的想法已经用完了.

编辑:应该指定更多,print(data)打印出我期望的,编码数据,但print(urlContent)打印nil.

Jur*_*ure 7

这是完整的例子

var url = NSURL(string: "http://espn.go.com/golf/leaderboard?tournamentId=2271")

if url != nil {
    let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
        print(data)

        if error == nil {

            var urlContent = NSString(data: data, encoding: NSASCIIStringEncoding) as NSString!

            print(urlContent)
        }
    })
    task.resume()
}
Run Code Online (Sandbox Code Playgroud)

看起来这里的正确编码NSASCIIStringEncoding不是NSUTF8StringEncoding.