2017-03-20 64 views
-1

我是Scrapy中的新成員,並且正在嘗試提取URL並只提取我想要的部分。例如:只從url中提取一個部分

>>> imgs = response.xpath ('//div[@id="productImageHolder"]/img/@src').extract() 
>>> print imgs 
ExtendedSitesCatalogAssetStore/images/catalog/productImages/41/5060119298441/5060119298441_L.jpeg 

但我只想得到這個:5060119298441。請幫忙嗎?

+0

你可以使用imgs.split(「/)[ - 2] – iamdeowanshi

+0

非常感謝你」iamdeowanshi「!It works! –

回答

3

在一般情況下,你可以解決它呼籲URL字符串.split()方法和最終獲得的第二個元素:

img.split("/")[-2] 

或者,您也可以使用Scrapy的Selector實例的.re_first() method

response.xpath('//div[@id="productImageHolder"]/img/@src').re_first(r"(\d+)_\w+\.jpeg$") 

(或使用.re()而不是.re_first()用於多個元件)。

+0

非常感謝!!!!!!」alecxe「!它幫了我很多! ! –