为什么在使用 TFHpple 解析此 HTML 数据后我没有得到任何数据
Why am I not getting any data after Parsing this HTML data using TFHpple
我正在努力从我的 xPathQuery 中获取任何信息。 link 我使用 Chrome 的开发人员工具,并通过右键单击所附屏幕截图中突出显示的行来完成。我正在创建一个基于食谱的应用程序,在我尝试扩大它之前,我只是在玩弄单个 URL。将不胜感激!
override func viewDidLoad() {
super.viewDidLoad()
let url=NSURL(string:"http://www.bbc.co.uk/food/recipes/roast_shoulder_of_lamb_92545")
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
if error == nil {
var parser = TFHpple(HTMLData: data)
var xPString = "/html/body/table/tbody/tr[186]/td[2]/span[3]"
var nodes = parser.searchWithXPathQuery(xPString) as? [TFHppleElement]
println(nodes)
}
})
task.resume()
}
尝试重命名来自
的以下行
var nodes = tutorialParser.searchWithXPathQuery(xPString) as? [TFHppleElement]
到
var nodes = parser.searchWithXPathQuery(xPString) as? [TFHppleElement]
编辑 1
我刚刚查看了您尝试解析的 url 中的 html 代码...我使用 safaris 开发人员工具搜索了子字符串 "tbody".. . 似乎 html 中没有定义 "tbody",所以你的解析器将无法找到它,也许会给你一个空数组,就像他目前正在做的那样......
您可以尝试在 xPString 中不使用 "tbody" 进行搜索吗?
所以从
var xPString = "/html/body/table/tbody/tr[186]/td[2]/span[3]"
到
var xPString = "/html/body/table/tr[186]/td[2]/span[3]"
还有table里面有第186个tr标签吗?此 tr 中的第二个 td 和此 td 中的 3 个跨度?
编辑 2
好的,这是您的解析器....
https://gist.github.com/DennisWeidmann/27ea76b5aed4718cf4ce
这是一个用法示例
我正在努力从我的 xPathQuery 中获取任何信息。 link 我使用 Chrome 的开发人员工具,并通过右键单击所附屏幕截图中突出显示的行来完成。我正在创建一个基于食谱的应用程序,在我尝试扩大它之前,我只是在玩弄单个 URL。将不胜感激!
override func viewDidLoad() {
super.viewDidLoad()
let url=NSURL(string:"http://www.bbc.co.uk/food/recipes/roast_shoulder_of_lamb_92545")
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
if error == nil {
var parser = TFHpple(HTMLData: data)
var xPString = "/html/body/table/tbody/tr[186]/td[2]/span[3]"
var nodes = parser.searchWithXPathQuery(xPString) as? [TFHppleElement]
println(nodes)
}
})
task.resume()
}
尝试重命名来自
的以下行var nodes = tutorialParser.searchWithXPathQuery(xPString) as? [TFHppleElement]
到
var nodes = parser.searchWithXPathQuery(xPString) as? [TFHppleElement]
编辑 1
我刚刚查看了您尝试解析的 url 中的 html 代码...我使用 safaris 开发人员工具搜索了子字符串 "tbody".. . 似乎 html 中没有定义 "tbody",所以你的解析器将无法找到它,也许会给你一个空数组,就像他目前正在做的那样......
您可以尝试在 xPString 中不使用 "tbody" 进行搜索吗?
所以从
var xPString = "/html/body/table/tbody/tr[186]/td[2]/span[3]"
到
var xPString = "/html/body/table/tr[186]/td[2]/span[3]"
还有table里面有第186个tr标签吗?此 tr 中的第二个 td 和此 td 中的 3 个跨度?
编辑 2
好的,这是您的解析器....
https://gist.github.com/DennisWeidmann/27ea76b5aed4718cf4ce
这是一个用法示例