2015-05-25 118 views
-1

有些奇怪假設我有這樣的代碼:的XPath scrapy

<div class="page-header" align="center"> 
 
<h4>[<a href='[email protected]%200DAY' data-placement='top' rel='tooltip' data-original-title='Browse 0DAY'><strong>FIRST</strong></a>] SECOND-</a><a href=/[email protected]%20GUSH rel='tooltip' data-original-title='Find more from GUSH'><b>THIRD</b></a> <h6>FOUR<br> <br/></h6> Search: 
 
<a href="https://xxx1">xxx</a>, 
 
</h4> 
 
<br/> 
 
</div>

我想文先過濾,第二,第三和四。我如何使用XPATH執行此操作?

我已經測試了這一點,沒有成功:

'//div[@class="page-header"]/h4/text()' (for filter SECOND) 
'//div[@class="page-header"]/h4/a[@rel=\'tooltip\']/text()' (for filter THIRD) 
+1

你提出的HTML沒有很好形成。 「SECOND」文本後面沒有開頭部分,有一個關閉的'a'標籤。 – alecxe

+1

很奇怪']二線' – splash58

+0

問「你能幫助我與XPath的?」答案 - >「是」或「否」。詢問「我如何使用XPATH執行此操作?」可能會爲您描述如何真正做到這一點。請重新閱讀[help→tour](http://stackoverflow.com/tour)關於不要分心,不要聊天:感謝不應該成爲問題的一部分。 – Anthon

回答

0

試試這個:

//div[@class="page-header"]/h4/node/text()[1] 

的過濾器第二和這樣的:

//div[@class="page-header"]/h4/a/b/node/text()[1] 

用於過濾第三

設我知道如果它正確地運行。

+0

我終於忍不住了: FIRST: section =''.join(hxs.xpath('// div [@ class =「page-header」]/h4/a/strong/text()[1] ').extract())代替(U。' \ XA0' ,U '') SECOND: rlsname = ''。加入(hxs.xpath('// DIV [@類= 「頁標頭」]/h4/text()[2]')。extract()) rlsname_cleaned = rlsname.replace(「]」,「」) THIRD: grp =''.join(hxs.xpath('// div [@類= 「頁標頭」]/H4/A/b /文本()[1] ')提取物()) FOUR: 日期= ''。加入(hxs.xpath(' // DIV [@類= 「頁標頭」]/H4/H6 /文本()[1] ')。提取物())。代替(U' \ XA0' ,U '') 日期=日期[6:25] date_iso8601 = date [6:-9] +「 - 」+ date [3:-14] +「 - 」+ date [0:-17] +「」+ date [-8:] – SuperMario57