Swift 4和Alamofire-未获取所有HTML数据
我希望使用Alamofire和Kanna从站点读取和刮取html数据。 我得到了成功的阅读和我得到的html数据,但没有从网站的所有数据。 我是阿拉莫菲尔的新手,我尝试过几种获取数据的方法,但最终总是得到站点数据的子集。从站点的源代码来看,它有更多的数据,并没有特殊的ajax或其他后台调用 用两种不同的方法编码以获得数据-相同的结果Swift 4和Alamofire-未获取所有HTML数据,html,alamofire,swift4,Html,Alamofire,Swift4,我希望使用Alamofire和Kanna从站点读取和刮取html数据。 我得到了成功的阅读和我得到的html数据,但没有从网站的所有数据。 我是阿拉莫菲尔的新手,我尝试过几种获取数据的方法,但最终总是得到站点数据的子集。从站点的源代码来看,它有更多的数据,并没有特殊的ajax或其他后台调用 用两种不同的方法编码以获得数据-相同的结果 import Foundation import Alamofire class NetworkProxy { func readIbAnmalData
import Foundation
import Alamofire
class NetworkProxy {
func readIbAnmalData () {
let url = "http://ib.anmäl.com"
let safeURL = url.addingPercentEncoding(withAllowedCharacters:NSCharacterSet.urlQueryAllowed)!
readAndParseHtml(url: safeURL)
}
// send request and return response data as string
func getResponseString (url: String) {
Alamofire.request(url).responseString { response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
debugPrint("Result: \(response.result)") // response serialization result
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)") // original server data as UTF8 string
}
}
}
func readAndParseHtml(url:String) {
Alamofire.request(url).responseString { response in
print("SUCCESS: \(response.result.isSuccess)")
if let html = response.result.value {
self.parseHTML(html: html)
}
}
}
func parseHTML(html:String) {
print("HTML: \(html)")
}
}
我得到的结果是:
我想说,您可能会得到某种形式的重定向(或AJAX调用),但是返回的HTML需要比这更复杂。也许Alamofire正在从HTML内部剥离一些数据?奇怪…和网站的所有者交谈,据他说,我从另一个网站larsgarden.se获取数据。ib.anmäl.com和larsgarden.se都有相同的ip地址,Tomcat服务器将请求传输到正确的位置。我可以传递更多信息(请求标题)以获得正确的结果吗?它一定与我的请求有关,因为这是从java程序工作的,当然也是从正常的web浏览工作的。