Я пытаюсь проанализировать следующий веб-сайт, поэтому я отображаю такие данные на iOS:
Суббота, 6 сентября
Causeway
Гоночная трасса Bond's Glen Raceway
11:00
RO
Двухдневная встреча
Два отдельных дня
Пример сайта:
<div id="main-column">
<h1>September</h1>
<table align="center"><col width="200"><col width="150"><col width="100"><col width="120"><col width="330"><col width="300">
<h2>Saturday 06 September</h2>
<tr id="table1">
<td><b>Club</b></td>
<td><b>Venue</b></td>
<td><b>Start Time</b></td>
<td><b>Meeting Type</b></td>
<td><b>Number of Days for Meeting</b></td>
<td><b>Notes</b></td>
</tr>
<tr id="table2">
<td>Causeway</td>
<td>Bond's Glen Raceway</td>
<td>11:00am</td>
<td>RO</td>
<td>Two Day Meeting,<br> Two Separate Days</td>
<td></td>
</tr>
<tr id="table3">
<td>West Waterford</td>
<td>Ballysaggart</td>
<td>11:00am</td>
<td>RO</td>
<td>Two Day Meeting,<br> One Meeting Over Two Days</td>
<td></td>
</tr>
До сих пор мне удалось получить все даты с помощью следующего кода:
-(void)loadData {
NSURL *url = [NSURL URLWithString:@"http://www.national-autograss.co.uk/september.htm"];
NSData *htmlData = [NSData dataWithContentsOfURL:url];
TFHpple *htmlParser = [TFHpple hppleWithHTMLData:htmlData];
NSString *xpathQueryString = @"//h2";
NSArray *eventNodes = [htmlParser searchWithXPathQuery:xpathQueryString];
NSMutableArray *eventDates = [[NSMutableArray alloc] initWithCapacity:0];
for (TFHppleElement *element in eventNodes) {
NSString *date = [[element firstChild] content];
[eventDates addObject:date];
}
_objects = eventDates;
[self.tableView reloadData];
}
Является ли запрос Xpath, который мне нужен для данных в таблице, чем-то вроде //table/tr/td? Я попробовал это и сразу же получил ошибку добавления нулевого объекта в массив.
Или мне лучше получить все таблицы как отдельные элементы, а затем отдельно проанализировать данные внутри?
Любая помощь, руководства или идеи будут очень признательны.