#HTML 파싱
- HTFpple.h
- HTFpple.m
- HTFppleElement.h
- HTFppleElement.m
- XPathQuery.h
- XPathQuery.m
1. 위 소스코드를 다운 받아 XCODE의 클래스 폴더에 폴더로 만들어서 통채로 집어넣는다 =ㅅ=
-Add libxml2 includes to your project
- Menu Project->Edit Project Settings
- Search for setting "Header Search Paths"
- Add a new search path "${SDKROOT}/usr/include/libxml2"
- Enable recursive option
-Add libxml2 library to to your project
- Menu Project->Edit Project Settings
- Search for setting "Other Linker Flags"
- Add a new search flag "-lxml2"
2. 위에서 시킨대로.. 프로젝트 셋팅에서 빌드 부분의 "Header Search Paths"를 찾아서 "$~ "를 추가한다. 3. 마찬가지로 "Other Linker Flags"를 찾아서 "-lxml2"를 추가한다.
이제 TFHpple 클래스 사용준비 완료!
[HTML 파싱 코드]
- (void)viewDidLoad {
[superviewDidLoad];
NSString *htmlWillInsert = [[NSStringstringWithContentsOfURL:
[NSURLURLWithString:@"http://web2.kwangju.ac.kr/~gjh/sub03/sub03.php"]
encoding:-2147481280error:nil]
stringByReplacingOccurrencesOfString:@"<br>"withString:@" "];
NSData *htmlData = [htmlWillInsert dataUsingEncoding:NSUnicodeStringEncoding];
TFHpple *xpathParser = [[TFHpplealloc] initWithHTMLData:htmlData];
NSArray *elements = [xpathParser search:@"//table[@width=\"679\"]//td[@valign=\"top\"]"];
NSLog(@"%@",elements);
for(int i=0;i<[elements count];i++)
{
TFHppleElement *element = [elements objectAtIndex:i];
NSString *titleOfAlips = [element content];
NSLog(@"%@",titleOfAlips);
}
}
위 코드에서 사용된 xPath의 사용법 :
http://www.w3schools.com/XPath/xpath_syntax.asp
학교 식단 메뉴를 파싱 ㅎ... 밥도 잘 안먹는데...-ㅅ-;;