hpple プラグインを使用して、iphone アプリで html 要素を解析および表示しています。私が抱えている問題は、解析しようとしている Web ページに複数の行を持つテーブルがあることです (これは時々変更される可能性があります)。このテーブルの行数を取得し、各行を反復処理して、各行の異なるテキスト コンテンツを取得するにはどうすればよいですか。これは hpple プラグインで可能ですか?
前もって感謝します。
クラス「tableClass」のテーブルの行を数えるだけの場合は、次のように試してみてください。
// Count the number of rows in a particular table
NSString *searchString = [NSString stringWithFormat:@"//table[@class='tableClass']/tr;
NSArray *tableRows = [xpathParser search:searchString];
NSInteger rows = [tableRows count];
NSLog(@"There are %d table Rows", rows);
// For loop to step through the rows
for(int j = 1; j <= rows; j++) {
searchString = [NSString stringWithFormat:@"//table[@class='tableClass']/tr[%d]/td", j];
NSArray *tableCells = [xpathParser search:searchString];
}
これは、テーブルを1行ずつステップ実行し、個々のデータセルをスクレイプするたびに実行する必要があります(テストしなかったため、保証はありません)。これに伴う問題は、テーブルに数個以上あると非常に遅くなることです。行。
テーブルを呼び出して、テーブルからすべてのtdセルを一度にスクレイピングしてから、それらが行を構成する方法を決定する方がよいでしょう。行のセル数が一定であれば、この方法は簡単です。