Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 엑셀
- python
- 노은
- dataset
- 자전거
- kanna html parser
- VBA
- exifread
- 대전
- StreamReader
- mdb table 합치기
- 파이썬
- 딴지일보 자유게시판 파씽
- 스위프트
- Xcode
- euc-kr
- html parser
- swift html parser
- C#
- Exif
- 대전 업힐
- 대전 자전거
- 유성
- EXIF data
- MDB
- swift
- 달력
- kanna parser
- insert into
- file move
Archives
- Today
- Total
Fly to the sky & Return
[swift html parser] 딴지 자유게시판 파씽... 1차 완성.. 본문
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
1차 작업을 완료하였습니다..
코드는 다음과 같습니다.
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | 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>() let apiURI = NSURL(string: "http://www.ddanzi.com/free") let apidata : NSData = NSData(contentsOfURL: apiURI!)! if let doc = Kanna.HTML(html: apidata, encoding: NSUTF8StringEncoding) { for data in doc.xpath("//td") { 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' 제거 list_data.append(link4) } } for data3 in doc.xpath("//td/a") { list2.append(data3) } for data2 in list2 { if let a = data2["href"] { var link3 = String(a) let fullNameArr = link3.characters.split{$0 == "#"}.map(String.init) //href 태그중에 본문 링크를 제외한 링크를 제거하는 코드 if fullNameArr.count == 1 { if fullNameArr[0] != "popup_menu_area" { list_data2.append(a) } } else if fullNameArr.count == 2 { if fullNameArr[1] != "comment" { list_data2.append(a) } } } } // 번호, 제목, 작성자, 일자, 클릭수, 추천 .... 이렇게 6번 씩 반복되는 코드 for i in 0..<list_data.count/6 { for j in 0..<6 { print(list_data[6*i + j]) if j == 1 { print(list_data2[i]) // 본문 href 링크 } } print("--------") } } } } | cs |
결과물은 다음과 같습니다.
공지
[딴지라디오] 본게방 Ep29(1부) 현직 흑역사 궁상방송! 또다시 선거철.[42]
http://www.ddanzi.com/free/83895099
호요요
2016.03.22
2899
7
--------
순서대로 보자면..
글번호
제목
분문 링크
작성자
작성일
클릭수
추천수
요렇게 됩니당.
'프로그래밍 > Swift(IOS & Mac)' 카테고리의 다른 글
[swift html parser] 딴지일보 자유게시판 본문 파씽.......1 (0) | 2016.03.27 |
---|---|
[swift html parser] Table view에 파씽한 사이트 리스트로 출력하기..... 1 (0) | 2016.03.26 |
[ swift html parser] 이렇게 저렇게 해보는 파씽..... (0) | 2016.03.22 |
[swift html parser] 이렇게저렇게 해보는 파씽. (0) | 2016.03.21 |
[swift html parser] kanna Parser 이용 시 조건 변화에 따른 출력 값 변화 (0) | 2016.03.20 |