2017-12-20 5 views
-4

私は次の情報を得るためにスパイダーを作成しようとしています10, 861, Wednesdaytdから多くの多くのためtd。画像をご覧ください。どうもありがとうございます!!!は、scrapyspiderのためのxpathを見つけることができません

enter image description here

+4

テキストとしてではなくイメージとしてのコードを記載してください。 – zx485

+1

HTMLをスクリーンショットではなくテキストとして入力します。または、質問にURLを追加します。 – furas

+0

お試しください ""(// td)[3]/text() "' – furas

答えて

0

あなたはすべてのtdは、あなただけtdの一部を必要とする場合は、すべてを取得し、後でインデックスすなわち[2]を使用xpath('//td')

import lxml.html 

html = ''' 
<tr> 
    <td>10</td> 
    <td>$681</td> 
    <td>Wednesday</td> 
    <td>other</td> 
    <td>data</td> 
</tr> 
''' 

soup = lxml.html.fromstring(html) 
all_td = soup.xpath('//td') 

for td in all_td: 
    print(td.text) 

結果

10 
$681 
Wednesday 
other 
data 

を使用する必要がある場合、またはスライス[2:]

01 XPathの xpath('//td[3]')であなたが唯一の直接 [3]を使用して取得することができ
for td in all_td[2:]: 
    print(td.text) 

結果

Wednesday 
other 
data 

import lxml.html 

html = ''' 
<tr> 
    <td>10</td> 
    <td>$681</td> 
    <td>Wednesday</td> 
</tr> 
''' 

soup = lxml.html.fromstring(html) 
date = soup.xpath('//td[3]/text()')[0] 

print(date) 

結果

Wednesday 
+0

ありがとうございました! –

関連する問題