2016-07-11 2 views
2

나는 scrapy를 사용하여 이미지가있는 링크를 찾고 링크의 href를 가져옵니다. 스크래핑하는 페이지에는 이미지 축소판이 채워지며 축소판을 클릭하면 전체 크기의 이미지로 연결됩니다. 전체 크기의 이미지를 잡고 싶습니다.xpath를 사용하여 이미지 내부의 링크 href 선택

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

그리고 "example.com/full_size_image.jpg"을 잡아하려는 :

HTML은 다음과 같이 다소 보인다.

그렇게 내 현재의 방법은

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

관련 문제