我正在从该站点下载图像。但是问题是产品具有三个图像,一个图像用于此站点,其他图像用于产品特定页面。我可以从该站点下载图像,但是我也想下载其余图像,但是它们的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文件...然后将其提取...是他们执行此操作的其他任何方式....
相关分类