मेरे पास एक वेब पेज है जो केवल साधारण टेक्स्ट जानकारी दिखाता है लेकिन मुझे यकीन नहीं है कि टेक्स्ट को स्विफ्ट का उपयोग करके कैसे प्राप्त किया जाए। मैं किसी भी विधि का उपयोग करने के लिए खुला हूं क्योंकि मुझे लगता है कि यह एक आसान समस्या है, मैं बस अनिश्चित हूं कि उत्तर खोजने के लिए क्या खोजना है।

यहां प्रश्नगत वेबपेज है जहां उपयोगकर्ता के आधार पर अंतिम भाग, "खिलाड़ी = बॉब" को संशोधित किया जा सकता है। धन्यवाद

http://services.runescape.com/m=hiscore_oldschool/index_lite.ws?player=bob

0
User 965 5 जुलाई 2017, 05:25

2 जवाब

सबसे बढ़िया उत्तर

आप अपने स्ट्रिंग डेटा को अतुल्यकालिक रूप से डाउनलोड करने के लिए URLSession dataTask(url: के साथ) का उपयोग कर सकते हैं:

import UIKit
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true


let scheme = "http"
let host = "services.runescape.com"
let path = "/m=hiscore_oldschool/index_lite.ws"
let player = "bob"
let queryItem = URLQueryItem(name: "player", value: player)

var urlComponents = URLComponents()
urlComponents.scheme = scheme
urlComponents.host = host
urlComponents.path = path
urlComponents.queryItems = [queryItem]
if let url = urlComponents.url {
    print(url) // "http://services.runescape.com/m=hiscore_oldschool/index_lite.ws?player=bob\n"

    URLSession.shared.dataTask(with: url) { data, response, error in
        guard let data = data, error ==  nil, let string = String(data:data, encoding: .utf8) else { return }
        print(string)  // 58009,1806,205602075\n348,99,59484076\n14451,99,16670682\n22760,99,16641294\n4372,99,35456433\n64147,99,13034611\n14021,99,13034458\n269415,79,1897071\n57799,99,13034505\n42650,87,4136181\n262455,70,742935\n12795,99,13034536\n254495,60,275820\n89361,75,1213576\n190818,62,341931\n272854,60,284103\n111969,66,507089\n66399,74,1177748\n64643,72,915704\n10231,99,13059448\n187538,52,132708\n162920,50,106555\n175923,62,351621\n295606,46,68990\n327642,1\n179487,5\n72965,106\n-1,-1\n-1,-1\n48877,85\n-1,-1\n24712,15\n-1,-1\n\n"
    }.resume()
}
1
Leo Dabus 5 जुलाई 2017, 06:37

क्या आप UIWebView या WKWebView से स्ट्रिंग प्राप्त करना चाहते हैं?

यदि आप UIWebView का उपयोग करते हैं, तो सबसे पहले आपको UIWebView प्रतिनिधि सेट करना होगा।

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSString *newString = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].innerHTML"];
}

वेबव्यू में 'न्यूस्ट्रिंग' HTML स्ट्रिंग है। यदि आप पेज पर वास्तविक शो का उपयोग करना चाहते हैं, तो आपको स्ट्रिंग्स का अनुवाद करना होगा। मुझे आशा है कि यह आपकी मदद कर सकता है। यदि आप WKWebView का उपयोग करते हैं, तो यह काम नहीं कर सकता है।

0
basvk 5 जुलाई 2017, 08:57