私は現在、iOSでスクラップをスクリーニングする方法を自分自身に教えようとしています.Androidでそうする方法を学びました.
私はhppleライブラリを使用しています。
現在、hpple を使用して Android にあるものを複製するのに苦労しているため、hpple を正しく使用して HTML コンテンツを解析する方法に関するガイダンスを探しています。
現在、HTML Web サイトから次のコンテンツを解析しようとしています。
<table class="tableForAppContent">
<tr>
<td nowrap="nowrap">
<a href='testLink'>CODE</a> MyTestCode</td>
<td nowrap>
<a href='testLink'>Number 123</a></td>
<td></td>
<td>Company Name</td>
<td nowrap>
11:10 AM
</td>
<td class="tableList" nowrap>
</td>
<td>
</td>
<td nowrap>
Status of company
<br />
</td>
<td>
</td>
</tr>
</table>
HTML の場合に表示されるすべてのテキスト値を取得できる必要があるため、次の値を取得できる必要があります。「CODE MyTestCode」、「Number 123」、「Company Name」、「11:10 AM」、および「会社の状況」。
これが私がこれまでに持っているコードです:
NSURL *url = [NSURL URLWithString:@"MyTestSite.com"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setTimeoutInterval: 30.0]; // Will timeout after 30 seconds
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue currentQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (data != nil && error == nil)
{
NSString *result = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
TFHpple *tutorialsParser = [TFHpple hppleWithHTMLData:data encoding:@"NSASCIIStringEncoding"];
NSString *tutorialsXpathQueryString = @"//table[@class='tableForContent']//td";
NSArray *tutorialsNodes = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString];
NSMutableArray *newTutorials = [[NSMutableArray alloc] initWithCapacity:0];
for (TFHppleElement *element in tutorialsNodes) {
NSLog(@"%@", [[element firstChild] content]);
}
}
else
{
// There was an error, alert the user
}
}];
次のコード行の正しい XPath クエリ文字列がわかりません
NSString *tutorialsXpathQueryString = @"//table[@class='tableForContent']//td";
何を試しても、一度に要素を 1 つしか見つけることができないため、「会社名」の値を取得できますが、他には何も取得できません。
誰でもクエリ文字列を手伝ってもらえますか?