16

私はPythonが初めてで、lxmlを使用してhtmlタグを見つけて反復するための構文について助けが必要です。私が扱っているユースケースは次のとおりです。

HTML ファイルの形式はかなり整っています (完全ではありません)。画面上に複数のテーブルがあり、1 つは一連の検索結果を含み、1 つはヘッダーとフッター用です。各結果行には、検索結果の詳細へのリンクが含まれています。

  1. 検索結果の行を含む中央のテーブルを見つける必要があります (これは私が把握できたものです)。

        self.mySearchTables = self.mySearchTree.findall(".//table")
        self.myResultRows = self.mySearchTables[1].findall(".//tr")
    
  2. この表に含まれるリンクを見つける必要があります (ここで行き詰まっています)。

        for searchRow in self.myResultRows:
            searchLink = patentRow.findall(".//a")
    

    リンク要素を実際に見つけていないようです。

  3. リンクのプレーンテキストが必要です。searchLink.textそもそもリンク要素を実際に取得した場合のようなものになると思います。

最後に、lxml の実際の API リファレンスでは、find および findall 呼び出しに関する情報を見つけることができませんでした。これらは、Google で見つけたコードの一部から収集しました。lxml を使用して HTML タグを効果的に見つけて反復処理する方法について何か不足していますか?

4

2 に答える 2

5

このプロジェクトでBeautiful Soupを使用しない理由はありますか? これにより、不完全な形式のドキュメントの処理がはるかに簡単になります。

于 2009-03-02T17:51:14.063 に答える