我正在从该站点下载图像。但是问题是产品具有三个图像,一个图像用于此站点,其他图像用于产品特定页面。我可以从该站点下载图像,但是我也想下载其余图像,但是它们的URL在产品特定页面上给出。.它们是我一次可以下载所有图像的任何方式,这意味着我想要一口气收集与产品相关的数据...喜欢以解析方法请求读取产品页面并同时提取图像URL。下面是我的代码解析方法。class ESpider(BaseSpider): name = "eSpider" allowed_domains = ["1click1call.com"] start_urls = "http://1click1call.com/Jeans-Shirts-Tshirts-Trousers" def parse(self, response): hxs = HtmlXPathSelector(response) sites = hxs.select('//div[@class="bord"]') items = [] for site in sites: item = EscraperItem() item['productSite'] = "http://1click1call.com/" item['productPrice'] = site.select('div[@class="price"]').extract() item['productURL'] = site.select('div[@class="image"]/a/@href').extract() item['productTitle'] = site.select('div[@class="name"]/a/text()').extract() item['productImage'] = site.select('div[@class="image"]/a/img/@src').extract() item['productDesc'] = site.select('div[@class="description"]/text()').extract() item['image_urls'] = item['productImage'] items.append(item) return items例如,在此产品页面上, 他们有四个图像,我想同时提取所有这些图像,而我正在爬网此产品目录要提取我正在使用的特定产品图片,请使用以下这些:hxs.select('//div[@class="left"]//div[@class="image"]/a/@href').extract()hxs.select('//div[@class="left"]//div[@class="image"]/a/img/@src').extract()hxs.select('//div[@class="left"]//div[@class="image-additional"]/a/img/@src').extract()hxs.select('//div[@class="left"]//div[@class="image-additional"]/a/@href').extract()所以我想从目录页面下载图像时也要下载这些图像..像上面我在解析方法中一样...有没有做的任何方法...容易...一种方法是阅读产品网址形成JSON文件...然后将其提取...是他们执行此操作的其他任何方式....
添加回答
举报
0/150
提交
取消