使用します.パーパー
5533 ワード
htmlパーパーは解析)のjavaフレームであり、必要な内容をウェブページから抽出して、ウェブページの爬虫類や簡単なデータ抽出器として利用することができます.
フレームホーム:http://htmlparser.sourceforge.net/
jtidyを見ましたが、これと同じ機能です.しかし、parserはもっと簡単なようです.解析して中国語を支持します.符号化が便利です.
学習リソース:
http://www.ibm.com/developerworks/cn/java/l-html-parser/
http://allenj2ee.javaeye.com/blog/222454
http://www.blogjava.net/amigoxie/archive/2008/01/18/176200.html
htmlパーサーは主に一つのパーパーパーを使ってウェブページを解析し、フィルタfilterまたはvisitorを通じて必要なノードにアクセスし、現在使用されているバージョンは1.6です.
htmlパーサーは再帰的な方法でノードを階層的に選択するために使用されるので、フィルタとvisitorを使用する時はtrueを追加してサブ要素のクエリをサポートする必要があります.そうでなければ、デフォルトは現在のノードだけを調べます.
これは最も簡単なコードで、パーザーの構造関数を通して解析を必要とするウェブサイトに入り、パーザーオブジェクトを生成します.
パーザーオブジェクトを通して、一連の要素を解析することができます.
filter:
filterはフィルタです.私たちは異なるフィルタを使って、所望の異なる結果を得ます.
すべてのフィルタはNodefilterとインターフェースを実現します.
ここで最も一般的なのはcssセレクタフィルタ、文字列選択フィルタ、ノードタイプ選択フィルタ、タグ名フィルタ(TagNameFilter)などです.
使用方法は:
newフィルタ
visitor:
visitorは、htmlページのどの部分にアクセスするかを定義する標準的なアクセス機です.
例えば一番よく使うhttml Page
コード
これでbodyを分離できます.
ヴィシトのデフォルト継承とNodevisitor
一番よく使われているのはhttml pageとtagfindingvisitorです.
実は、パーパーは使いにくくないです.ウェブページのルールが千変万化して、解析するのは難しいです.
フレームホーム:http://htmlparser.sourceforge.net/
jtidyを見ましたが、これと同じ機能です.しかし、parserはもっと簡単なようです.解析して中国語を支持します.符号化が便利です.
学習リソース:
http://www.ibm.com/developerworks/cn/java/l-html-parser/
http://allenj2ee.javaeye.com/blog/222454
http://www.blogjava.net/amigoxie/archive/2008/01/18/176200.html
htmlパーサーは主に一つのパーパーパーを使ってウェブページを解析し、フィルタfilterまたはvisitorを通じて必要なノードにアクセスし、現在使用されているバージョンは1.6です.
htmlパーサーは再帰的な方法でノードを階層的に選択するために使用されるので、フィルタとvisitorを使用する時はtrueを追加してサブ要素のクエリをサポートする必要があります.そうでなければ、デフォルトは現在のノードだけを調べます.
Parser parser
=
new
Parser(
"
http://www.baidu.com
"
);
これは最も簡単なコードで、パーザーの構造関数を通して解析を必要とするウェブサイトに入り、パーザーオブジェクトを生成します.
パーザーオブジェクトを通して、一連の要素を解析することができます.
filter:
filterはフィルタです.私たちは異なるフィルタを使って、所望の異なる結果を得ます.
すべてのフィルタはNodefilterとインターフェースを実現します.
ここで最も一般的なのはcssセレクタフィルタ、文字列選択フィルタ、ノードタイプ選択フィルタ、タグ名フィルタ(TagNameFilter)などです.
使用方法は:
newフィルタ
NodeFilter filter
=
new
CssSelectorNodeFilter(
"
.cp_kind
"
);
フィルタを解析が必要なパーパーまたはnodeListに入れます.trueは再帰的フィルタリングを表します.デフォルトはfalseです.
NodeList allProductList
=
nodeList.extractAllNodesThatMatch(filter,
true
);
visitor:
visitorは、htmlページのどの部分にアクセスするかを定義する標準的なアクセス機です.
例えば一番よく使うhttml Page
コード
HtmlPage visitor
=
new
HtmlPage(parser);
parser.visitAllNodesWith(visitor);
String textInPage
=
visitor.getTitle();
System.out.println(textInPage);
//
get body
NodeList nodelist
=
visitor.getBody();
System.out.print(nodelist.asString().trim());
これでbodyを分離できます.
ヴィシトのデフォルト継承とNodevisitor
一番よく使われているのはhttml pageとtagfindingvisitorです.
実は、パーパーは使いにくくないです.ウェブページのルールが千変万化して、解析するのは難しいです.