Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Swift中从html页面读取数据_Html_String_Swift_Search_Webview - Fatal编程技术网

在Swift中从html页面读取数据

在Swift中从html页面读取数据,html,string,swift,search,webview,Html,String,Swift,Search,Webview,我想编写一个应用程序,向您显示特定HTML页面的数据。 如何读取div中的文本并将其转换为字符串?如何在该页上搜索内容或在表格的行中查找 你需要知道完成这项任务需要什么步骤 首先需要加载html页面数据 在找到您需要的解析器之后 在第一步中,我找到了这个代码 let url = NSURL(string: "http://www.stackoverflow.com") let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {

我想编写一个应用程序,向您显示特定HTML页面的数据。
如何读取div中的文本并将其转换为字符串?如何在该页上搜索内容或在表格的行中查找

你需要知道完成这项任务需要什么步骤

首先需要加载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()
来自此链接的示例

看这个例子,您执行一个请求并返回一个数据,这个数据需要是
String
。在收到数据后,您需要解析以查找所需内容

第二步,您需要工具来执行,简单的方法是使用字符串方法,比如slip。如果您需要更智能的东西,我推荐
正则表达式

拆分的简单示例(swift 1.2)

示例(swift 2.0)

来自

这个链接非常适合
正则表达式
,请注意它是一个强大的解析工具,通过它,您可以搜索html中的任何内容

我希望这一解释能帮助您。

更新了语法(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()

谢谢你的回答!我还有几个问题。让我们从第一个开始。我已经听过parser这个词,但是你能不能快速地解释一下它是什么,以及我应该如何实现它。我试过解析。Xcode说它不知道“tfhpple”如何修复它?解析器,嗯。。。解析器是指当您需要从som数据中提取一些信息时,例如所有
html
页面都有
,想象一个网站有一个
,并且您有一个应用程序需要从html页面加载价格。为此,您可以使用正则表达式在
之间搜索内容,并在应用程序中显示某物的价格。。这是一件很有趣的事。。什么是
tfhpple
可以说得更多吗?它出现时的一些示例!?我还看了一些其他教程,它们集成了一个tfhpple文件
let fullName = "First Last"
let fullNameArr = split(fullName.characters){$0 == " "}.map(String.init)

fullNameArr[0] // First
fullNameArr[1] // Last
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()