0

誰かが助けてくれるのだろうか:)

HTMLページからデータをスクレイピングするためにpython lxmlとcssselectorを使用しています。

この方法を使用してほとんどのクラスを簡単に選択でき、非常に便利ですが、スペースを含むクラス名の選択に問題があります

たとえば、次のクラスから Blah を抽出したいとします。

<li class="feature height">Blah blah</li>

次の css セレクターを使用してみましたが成功しませんでした - これは問題ではないため、パス全体は含まれていません

li.feature.height
li.feature height
li.feature:height

誰でもこれを行う方法を知っていますか? 私は答えを見つけることができず、それは人々がしなければならないかなり一般的なことであるに違いないと確信しています...

親要素を選択することはできません

li.feature 

データは異なるページで同じ順序ではないため、n 番目の要素の選択にも同じことが当てはまります...

これについてしばらく頭を悩ませ、たくさん検索しました。誰かが知っていることを願っています!

reを使用してデータを取得することで回避できますが、それは機能しますが、簡単な解決策があるのだろうか...

事前に助けてくれてありがとう!

マット

要求された追加情報 - 空のリストまたはブール値の負の結果を返すため、機能しません

したがって、使用する場合

css_9_seed_height = 'html body div.seedicons ul li.feature.height'

# 9. Get seed_height
seed_height_obj = root.cssselect(css_9_seed_height)
print seed_height_obj

これは空のリストを返します-つまり、クラスは見つかりませんが、そこにあります

同じ方法で他の多くの情報を取得しているため、 root.cssselect() が正しく機能していると想定できます

4

0 に答える 0