2017-03-20 6 views
-1

Ich bin neu in Scrapy und versuche, eine URL zu nehmen und extrahieren nur den Teil, den ich will. Beispiel:Extrahieren Sie nur einen Teil von einer URL

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

Aber ich will nur diese bekommen: 5060119298441. Irgendwelche Hilfe bitte?

+0

können Sie imgs.split ("/) [- 2] – iamdeowanshi

+0

Vielen Dank" iamdeowanshi "! Es hat funktioniert! –

Antwort

3

In der Regel können Sie lösen eine .split() Methode auf dem URL-String aufrufen und das zweite Element vom Ende bekommen:

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

Oder Sie können auch die .re_first() method eines Selector Instanz Scrapy verwenden:

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

(.re() oder anstelle von .re_first() für mehrere Elemente).

+0

Vielen Dank !!!!!!" Alecxe "! Es hat mir sehr geholfen !! !!! –

Verwandte Themen