2017-03-20 65 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“!它帮了我很多! ! –