2017-12-20 11 views
-4

Ich versuche, eine Spinne zu erstellen, um die folgenden Informationen 10, 861, Wednesday aus der td und vieles mehr für nächste viele td zu erhalten. Bitte sehen Sie das Bild. Ich danke dir sehr!!!kann xpath für td scrapyspider nicht finden

enter image description here

+4

Geben Sie bitte Code als Text und nicht als Bild bekommen. – zx485

+1

HTML als Text eingeben, nicht als Screenshot. Oder URL zu Frage hinzufügen. – furas

+0

versuchen Sie '" (// td) [3]/text() "' – furas

Antwort

0

Wenn Sie alle td dann 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) 

Ergebnis

10 
$681 
Wednesday 
other 
data 

verwenden Wenn Sie nur einige td dann alle und die spätere Verwendung Index dh erhalten [2] oder Schneiden [2:]

for td in all_td[2:]: 
    print(td.text) 

Ergebnis

Wednesday 
other 
data 

Sie können nur eine mit [3] direkt in XPath xpath('//td[3]')

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) 

Ergebnis

Wednesday 
+0

Vielen Dank! –

Verwandte Themen