我是xpath的新手,請耐心等待。目前,我正在尋找使用scrapy刮一些內容了一些網頁,內容看起來是這樣的:scrapy xpath幫助需要
<td colspan="3" valign="top" class="regular">Landsize: 84,000sq with an extensive shoreline 750m<br />
<br />
Call Or Email for more info<br />
. Full-length Olympicpool,children pool,jacuzzi<br />
\' Landscapesdkey bridges<br />
. 2 tennis courts<br />
. water features True seafront development with iconic design by architect Daniel Libeskind<br />
lconic residential, located less than\' 150 metres from the shoreline<br />
<br />
opposite the future integrated resort on sentosa Island.<br />
A part of keppel Bay world calss water front precinct with luxury homes.<br />
<br />
Call or email for more info </td>
具體來說,我用以下hxs.select('//tr[contains(td,"Description")]/following-sibling::tr[1]/td/text()').extract()
然而,這樣做會由於內容被<br>
分隔,因此將結果項目分成列表。如果我從xpath中排除text()
,則<td>
元素將包含在所得字符串中,這是不可取的。
在xpath中有沒有一種方法可以確保我的結果字符串是上面顯示的但沒有td標籤的所有內容?我希望我不需要手動回加列表<br/>
其實我只是想留住
,但希望刪除。 – goh
@iws:那麼你想要的是不可能實現評估一個XPath表達式 - XPath是一個* query *語言的XML - 因此它只是*選擇*節點集並且從不刪除或修改節點。使用XPath,您可以只獲取元素的字符串值(根本不包含後代節點),或者如果您想獲取其子節點,則這些元素中的元素將具有其所有子元素/子元素。 –