2016-07-11 12 views
2

私はscrapyを使って画像内のリンクを見つけ、リンクのhrefを取得します。私が掻いているページには画像のサムネイルが表示され、サムネイルをクリックすると画像のフルサイズのバージョンにリンクします。私はフルサイズの画像をつかみたい。xpathを使用して画像内のリンクのhrefを選択

HTMLはやや次のようになります。

<a href="example.com/full_size_image.jpg"> 
    <img src="example.com/image_thumbnail.jpg"> 
</a> 

そして私は"example.com/full_size_image.jpg"をつかむしたいです。

そうすることの私の現在の方法は

img_urls = scrapy.Selector(response).xpath('//a/img/..').xpath("@href").extract() 

あるしかし、私は、ユーザーが自分のXPath式の文字列を入力できるようにする計画として、単一のXPath式にそれを軽減したいと思います。

答えて

4

要素が別の子要素こうして持っているかどうかをチェックすることができます:私はresponse.xpath()ショートカットを使用して、単一のXPath式を提供しています

response.xpath('//a[img]/@href').extract() 

注意を。

+1

私の問題を解決するだけでなく、わかっていないショートカットについても教えてくれます。ありがとう! – wptreanor

関連する問題