Fly to the sky & Return

[swift html parser] 딴지일보 자유게시판 본문 파씽.......1 본문

프로그래밍/Swift(IOS & Mac)

[swift html parser] 딴지일보 자유게시판 본문 파씽.......1

낼은어떻게 2016. 3. 27. 21:29
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

제목 리스트를  클릭하면 새로운 화면에  본문 관련 내용이 출력되도록 하는 코드를 작성하고 있습니다.

일단 제목 등등은 기존 리스트에서 사용하고   본문 링크를 타고 온 곳에서는

일단 본문과 댓글만 가져올 생각입니다.  댓글은 좀더 있다가 생각하기로 하고.....


본문 내용을 가저오는  코드를 작성해봤습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import UIKit
import Kanna
 
class ViewController: UIViewController {
   
 
    @IBAction func test(sender: AnyObject) {
        
        var list = Array<XMLElement>()
        var list2 = Array<XMLElement>()
        var list_data = Array<String>()
        var list_data2 = Array<String>()
 
        var page = 1
        let apiURI = NSURL(string: "http://www.ddanzi.com/free/85069027")
        
        let apidata : NSData = NSData(contentsOfURL: apiURI!)!
        if let doc = Kanna.HTML(html: apidata, encoding: NSUTF8StringEncoding) {
            
            for data in  doc.xpath("//article/div") {
                
                list.append(data)
                
            }
            
            for data1 in list {
                if let a = data1.text {
                    
                    var link3 = String(a) // <- xml -> string
                    var trimmedString = link3.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())   // 문자열 앞 \t 제거
                    trimmedString = trimmedString.stringByReplacingOccurrencesOfString("\t", withString:  "", options: NSStringCompareOptions.LiteralSearch, range: nil) // 문자열 중간 \t 제거
                    
                    let link4 = trimmedString.stringByReplacingOccurrencesOfString("\n", withString:  "", options: NSStringCompareOptions.LiteralSearch, range: nil)  //  '\n' 제거
                    
                    print(link4)
                    print("---------")
                    }
            }
            
        }
    }
}
 
 
 
cs


 출력결과는  두번째 항목에서 본문이 출력되고 있는 것이 확인됩니다..      배열을 이용해서 필요한 것만 가저오면 되니  .본문 텍스트는 이 코드를 이용해서 추출하면 될듯합니다

문제는  이미지등이 문제가 될듯합니다


고민을 해봐야하겠습니다.