0

Jythonは優れた言語のように思われるので使い始めましたが、これまでのところ証明されています。

私はdom4jを使用して、ディスク上にある一連のHTMLファイルのDOMからデータを操作および取得しています。以下のスクリプトを記述して、 H1タグのXpathを使用してDOMをスローし、テキストを取得します。H1タグがDOMに存在しない場合は、タイトルタグを検索し、そこからテキストを取得します。

私はJythonを初めて使用しますが、必要なタスクを以下の方法よりもはるかに優雅に実行する方法があると確信しています。これを正しく考えている場合、より良い方法を教えてくれる人はいますか?

elemHolder = dom.createXPath('//xhtml:h1')
elemHolder.setNamespaceURIs(map)
elem = elemHolder.selectSingleNode(dom)
if elem != None:
    h1 = elem.getText()
else:
    elemHolder = dom.createXPath('//xhtml:title')
    elemHolder.setNamespaceURIs(map)
    elem = elemHolder.selectSingleNode(dom)
    if elem != None:
        title = elem.getText()
    else:
        title = "Page does not contain a H1 or title tag"

誰かが助けることができればそれは素晴らしいでしょう。乾杯

4

2 に答える 2

2

これはどうですか (ちなみに、私は Python についてあまり知っているとは言いませんが、これは明らかな最初のステップのように見えます):

for path in ('//xhtml:h1', '//xhtml:title'):
    elemHolder = dom.createXPath(path)
    elemHolder.namespaceURIs = map
    elem = elemHolder.selectSingleNode(dom)
    if elem is not None:
        return (elem.localName, elem.text)

return (None, "Page does not contain h1 or title tag")
于 2008-10-23T20:21:07.107 に答える
0

それは完全に機能するように見えますが、他のことだけです。値をデータベースに渡し、見つかった内容に応じて適切な列に入力します。

H1 タグの場合は H1 列に配置され、タイトル タグの場合はタイトル列に配置されます。

どのタグが見つかったかを判断する方法はありますか? これは理にかなっていますか?

于 2008-10-23T20:35:27.483 に答える