2013-05-08 74 views
1

我使用scrapy從這個網站抽取數據:http://www.nuforc.org/webreports/ndxevent.htmlScrapy:讓只有ALIGN td元素= RIGHT

我需要單獨的UFO目擊事件的計數日期,是令人興奮的!

以下是我在這個例子日期= 03/2013刮

<TR VALIGN=TOP> <TD><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000><A HREF= ndxe201303.html>03/2013</A></TD> <TD ALIGN=RIGHT><FONT style=FONT-SIZE:11pt FACE="Calibri" COLOR=#000000>108</TD>

所以的例子,數= 108

現在的日期是不是一個問題,因爲我可以只是做

hxs.select('//tbody//td//font//a//text()').extract() 

獲得「a」標籤內的文本。

但是有沒有一種方法可以從樣式爲ALIGN = RIGHT的td元素中獲取文本。 我已經看了看文檔和選擇,但我很困惑

hxs.select('//tbody[contains(td, "ALIGN")]').extract() 

回答

1

這從所有<td>文字與屬性ALIGN="RIGHT"

hxs.select('//tbody//td[@ALIGN="RIGHT"]//text()').extract() 
+0

出於某種奇怪的原因,我需要兩個「/」,所以你的工作線,如果我把它寫這樣的:hxs.select(」 // tbody // td [contains(@align,「RIGHT」)] // text()')。extract() - 非常感謝您:D – Donna 2013-05-08 12:38:47

+1

'/ text()'匹配緊跟在關閉標籤''。 ''text()'匹配'​​..'內所有子標籤的所有文本。 – unutbu 2013-05-08 12:46:32