弹出窗口中的XPath

时间:2013-03-13 12:50:25

标签: xpath scrapy xpath-2.0

我正在使用Scrapy抓取网页。我通过使用xpath Chrome扩展来获得XPath选择器,它可以正常工作。我在产品页面上得到了我想要的所有内容,如描述,价格等。

如果我点击某个项目的小图片,该项目的大图像会弹出,我想要抓取这个大图像。但是我用于这个大图像的Xpath并没有取得任何东西。此外,当我查看源代码时,它显示它使用javascript函数来加载这些弹出图像。有没有办法获取这些图像?

start_urls = ['http://www.flipkart.com/nokia-lumia-620/p/itmdgkwywkmaa2w4?pid=MOBDGH6AKH9ERJAF']

description = hxs.select('/html/body/div[@class=" fkart fksk-body line  "]/div[@id="fk-mainbody-id"]/div[@class="fk-content fksk-content enable-compare line"]/div[@class="fk-mproduct fk-mproduct-mobile "]/div[@class="mprod-section unit"]/div[@id="topsection"]/div[@class="mprod-summary lastUnit"]/div[@class="mprod-summary-title fksk-mprod-summary-title"]/h1/text()').extract()
price = hxs.select('/html/body/div/div/div/div/div/div/div/div/div/div/div/div/span/text()').extract()

image_urls = hxs.select('/html/body/div[@class="fk-ui-dialog fk-popup"]/div[@class="window alpha30 window-absolute"]/div[@class="content"]/div[@class="dialog-body"]/div[@id="pp-large-images-popup"]/div[@class="main-container"]/div[@class="pp-carousel-bd"]/div[@class="visible-image-large fk-text-center"]/img[@id="visible-image-large"]').extract()

结果:

{'description': [u'Nokia Lumia 620'],
 'image_urls': [],
 'price': u'14999'}

1 个答案:

答案 0 :(得分:0)

要获取小缩略图的图片网址列表,您可以使用此XPath:

//div[@class="thumbs thumbs-small"]/img/@src

您可以从缩略图图像的网址中获取大图像的网址。只需将40x40替换为275x275,您就会获得大图片的网址。