2011-06-29 13 views
1

私はjythonとscrapyの新機能ですが、私はその機能に感心しています。私の質問は、XPathが同じときにデータを抽出する最良の方法は何ですか?私はすべての3つのTDフィールドから情報をこすりする必要がXPathが同じときのデータの抽出

<tr> 
    <td> 
    <a href="/user/Bob">Bob Job</a> 
    </td> 
    <td>hi</td> 
    <td>280.0</td> 
</tr> 

:たとえば

。私はファイヤーバグを使ってXPathを抽出してXPathを表示します。

/html/body/table [2]/tbody/tr/td [2]/div/table/tbody/tr [2]/td [3]

XPathが同じ場合にデータを抽出する最適な方法は何ですか?私はtd [1]とtd [3]からのデータしか必要としないかもしれません。

答えて

1

値を抽出し、それぞれの項目フィールドに入力する基準を特定する必要があります。例えば

link  = hxs.select('//td/a/href').extract()[0] 
linktext = hxs.select('//td/a/text()').extract()[0] 
number = hxs.select('//td').re('\d+\.\d+') 
0

ファイアウォールcopy xpathが必ずしも最適ではありません。

テーブルを削るときは、<TR>のようなフィールドを反復する方法を見つけ、のようなフィールドを探して、各行に必要なtdフィールドを取得する別のクエリを実行します。 //tdその方法は簡単です。

+6

通常、TBODYはブラウザによって追加されます。 – AlphaB

関連する問題