Swift爬虫采集唯品会商品详情
import Foundation
// 定义一个简单的函数来解析URL
func loadHTML(from urlString: String, completion: @escaping (String?, Error?) -> Void) {
guard let url = URL(string: urlString) else {
completion(nil, NetworkError.invalidURL)
return
}
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let error = error {
completion(nil, error)
} else if let data = data,
let htmlString = String(data: data, encoding: .utf8) {
completion(htmlString, nil)
} else {
completion(nil, NetworkError.noData)
}
}
task.resume()
}
// 定义一个枚举表示可能发生的网络错误
enum NetworkError: Error {
case invalidURL
case noData
}
// 使用示例
let urlString = "https://www.liangpin.com/brand/12345.html"
loadHTML(from: urlString) { html, error in
if let error = error {
print("Error: \(error)")
} else if let html = html {
print("HTML content: \(html)")
// 这里可以添加解析HTML的代码
}
}
这个代码示例展示了如何使用Swift编写一个简单的函数来异步加载HTML内容,并处理可能发生的错误。这是爬虫开发中一个非常基础且常用的技术。
评论已关闭