我是一个Swift初学者,我正在努力弄清楚如何从一篇web文章中检索文本,创建一个新的文本文件并将文本数据保存到其中(使用Swift游乐场)。这个是可能的吗?
关于这个话题,我在网上唯一能找到的就是这个,而且我认为它甚至不是为Swift 3写的:
如果我的问题需要更多的细节,请告诉我,而不是搁置。谢谢!
import Cocoa
var url = NSURL(string: "http://finance.yahoo.com/news/tv-news-ces-2017-120931816.html")
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)发布于 2017-01-07 02:31:04
那是斯威夫特2.3。在Swift 3中,使用URL代替NSURL,使用URLSession而不是NSURLSession等等。您也可以使用String而不是NSString。例如。
let url = URL(string: "http://finance.yahoo.com/news/tv-news-ces-2017-120931816.html")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
guard let data = data, error == nil else {
print("\(error)")
return
}
let string = String(data: data, encoding: .utf8)
print("\(string)")
}
task.resume()如果要在操场上这样做,请记住这是异步运行的,因此需要设置needsIndefiniteExecution。
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true要真正解析HTML,您应该考虑使用像TFHpple这样的HTML解析器(用Objective编写,但仍然能很好地使用Swift)或NDHpple ( Swift版本,其中我没有TFHpple那么有信心,但可能工作得很好)。
你可能想看看如何在iOS上解析HTML。它是过时的,但会带您浏览这些概念(确保您没有违反网站的ToS、如何使用解析器等等)。
如果要将其保存到文件中,可以执行以下操作:
let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
.appendingPathComponent("test.dat")
try! data.write(to: fileURL)你可以使用任何你想要的文件扩展名。
https://stackoverflow.com/questions/41517065
复制相似问题