为了账号安全,请及时绑定邮箱和手机立即绑定

正确使用scrapy下载图像的方式

正确使用scrapy下载图像的方式

小唯快跑啊 2021-03-11 14:13:24
我正在从该站点下载图像。但是问题是产品具有三个图像,一个图像用于此站点,其他图像用于产品特定页面。我可以从该站点下载图像,但是我也想下载其余图像,但是它们的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文件...然后将其提取...是他们执行此操作的其他任何方式....
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信