gpt4 book ai didi

html - 为什么我使用 TFHpple 解析此 HTML 数据后没有获得任何数据

转载 作者:行者123 更新时间:2023-11-30 14:10:48 26 4
gpt4 key购买 nike

我正在努力从 xPathQuery 中获取任何信息。我使用 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”...似乎在 中没有定义“tbody” html,所以你的解析器将无法找到它,也许会给你一个空数组,就像他目前正在做的那样......

您可以尝试在 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]"

表中还有第 186 个 tr 标记吗?此 tr 中的第二个 td 和此 td 中的 3 个跨度?

编辑2

好的,这是你的解析器......

https://gist.github.com/DennisWeidmann/27ea76b5aed4718cf4ce

这是一个使用示例

https://gist.github.com/DennisWeidmann/a66ce53ad8691744d6a6

关于html - 为什么我使用 TFHpple 解析此 HTML 数据后没有获得任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31793381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com