我想编写一个应用程序,它会显示特定HTML页面的数据。 如何阅读文字,例如在div中并将该文本转换为字符串?如何在该页面上搜索某些内容或查看表格中的某些内容?
答案 0 :(得分:2)
您需要注意完成此任务所需的步骤。
首先需要加载html页面数据 找到解析器后你需要的东西。
在第一步中我找到了这段代码
let url = NSURL(string: "http://www.stackoverflow.com")
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
}
task.resume()
此链接示例How to make an HTTP request in Swift?
查看此示例,您执行请求并返回数据,此数据需要为String
。收到数据后,您需要解析才能找到您想要的内容。
第二步你需要工具来执行,简单的方法是使用像slipt这样的字符串方法。如果您需要更聪明的东西,我建议Regular Expression
split
(swift 1.2)
var fullName = "First Last"
var fullNameArr = split(fullName) {$0 == " "}
var firstName: String = fullNameArr[0]
var lastName: String? = fullNameArr.count > 1 ? fullNameArr[1] : nil
示例(swift 2.0)
let fullName = "First Last"
let fullNameArr = split(fullName.characters){$0 == " "}.map(String.init)
fullNameArr[0] // First
fullNameArr[1] // Last
来自Swift: Split a String into an array
的示例此链接非常适合Regular Expression
,请注意它是一个功能强大的解析工具,您可以在其中搜索HTML中的任何内容。
NSRegularExpression Tutorial: Getting Started
我希望能帮助你解释这个问题。
答案 1 :(得分:0)
更新语法(swift 5),并进行了一些修改以获取 html 数据:
let url = NSURL(string: "https://www.stackoverflow.com")
let task = URLSession.shared.dataTask(with: url! as URL) {(data, response, error) in
if data != nil { // otherwise will crash for if url is empty
let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)!
print("url data:",dataString)
} else {print("url data not found")}
}
task.resume()