私はフォーラムを拝見しており、投稿に関する統計、特に投稿が取得する閲覧数と返信数を取得しようとしています。より洗練されたxpathソリューション?
私はこのようなルックスを解析しています何のためのページのソース:
<ul class="ipsDataItem_stats">
<li>
<span class="ipsDataItem_stats_number">61</span>
<span class="ipsDataItem_stats_type"> replies</span>
</li>
<li class="ipsType_light">
<span class="ipsDataItem_stats_number">6,106</span>
<span class="ipsDataItem_stats_type"> views</span>
</li>
そして、私は一緒に私が探しているものを引っ張り、いくつかのコードをハッキングしてきましたが、私はどのように不思議ですあなたはxpathの専門家がこれを処理していました。
Stats = node.find_elements_by_xpath('.//ul[@class="ipsDataItem_stats"]')
Replies = (Stats[0].find_elements_by_xpath('.//span[@class="ipsDataItem_stats_number"]'))[0].text
Views = (Stats[0].find_elements_by_xpath('.//span[@class="ipsDataItem_stats_number"]'))[1].text
私のソリューションは、特定の順序であることの統計に依存し、同じ結果を達成するために、より正確な方法があります場合、私は思ったんだけど。
例えば擬似コード:
Replies = node.find_elements_by_xpath({get span text where class = "ipsDataItem_stats" and sibling span class = "ipsDataItem_stats_type" and text = "replies"})
「より正確」または「よりエレガントな」とはどういう意味ですか?これらのxpath式で何が問題になっていますか? – krokodilko
サイトがページをレンダリングしてli要素を反転させて、ビューが最初で応答が2番目になるとどうなりますか?または、Stats [0]がStats [1]やStats [2]などになる必要があるように、追加の統計情報を追加します。私はより正確に要素を取得する方法を探しています。リスト。 – user3246693
私の擬似コードを見ると、1xpathクエリで返された返信を取得する方法になりますが、そのクエリの構築方法はわかりません。 – user3246693