私はリンク(https://www.century21.com/real-estate/rock-spring-ga/LCGAROCKSPRING/)をこすってみました。私はそれから「ベッド」データを抽出したかったのです。その中にはいくつかの家のためのいくつかの空の詳細があるので、わずかな "ベッド"の詳細が抽出されます。しかし、私はすべてのための詳細を持っています。そこになければ、 "NaN"か何かが表示されるはずです。私は "2台" を抽出するためのxpathコマンドを使用空白を除いた治療
<div class="property-beds">
<strong>2</strong> beds
</div>
:もう一つの問題は、私はこのタグを検査していることです。 「ベッド」は2つのベッドで表示されます。だから私は "|" 2つの要素を統一する。
response.xpath('//div[@class="property-beds"]/strong/text() | //div[@class="property-beds"]/text()']
これは私に正しい出力を得たが、問題はそれが2つの別々の行(別の行に1行とベッドで2)に結果を示しているされて、単一の行に表示する.how?
2番目の部分を説明できますか? 1つ以上の要素の場合にコマンドを反復する。 –
@AkhilReddy: 'string()'は、セットの最初の要素に対してのみ機能します。あなたはresponse.xpath( '// div [@ class = "property-beds"]')でelemを行う必要があります:print(elem.xpath( 'string()')。extract()) '。 – Blender