この Web ページから XPATH //DIV[@id="ps-content"] を抽出したいと思います: http://www.amazon.com/dp/1449319432 (ローカル ファイルとして保存)
Saxon-PE や BaseX などの最高のパーサーの 1 つを使用して、1 行のコマンドラインでそれを実行したいと考えています。
これまでのところ、私が(持っていると思われる)見つけた最短の解決策は、次の2行です。
java -jar tagsoup-1.2.1.jar <page.html >page.xhtml"
java -cp saxon9pe.jar net.sf.saxon.Query -s:"page.xhtml" -qs:"//DIV[@id='ps-content']"
しかし、それが返すのはこれだけです。これは、HTMLコードの私の予想されるブロックではありません:
<?xml version="1.0" encoding="UTF-8"?>
私の質問は2つあります:
- コマンドラインの何が問題になっていますか? XPATH で定義されているように、期待される HTML コードのブロックが返されないのはなぜですか?
- Saxon-PE には TagSoup 機能が組み込まれているため ( https://www.odesk.com/leaving-odesk?ref=http%253A%252F%252Fsaxonica.com%252Fdocumentation9.4-demo%252Fhtml%252Fextensions%252Ffunctions%252Fparse-を参照)。 html.html )、どうすれば 2 行を 1 行に統合できますか?