Google 및 스택 오버플로 솔루션의 모든 검색 결과를 시도했지만 해결책을 얻을 수 없습니다. 나는이미지 URL을 가져올 수없고 이미지를 다운로드 할 수 없습니다.
내 items.py
class MyntraItem(scrapy.Item):
product_urls=scrapy.Field()
files=scrapy.Field()
image_urls=scrapy.Field()
images = scrapy.Field()
내 settings.py
BOT_NAME = 'hello'
SPIDER_MODULES = ['myntra.spiders']
NEWSPIDER_MODULE = 'myntra.spiders'
FILES_STORE = '/home/swapnil/Desktop/AI/myntra/'
ITEM_PIPELINES = {
#'myntra.pipelines.SomePipeline': 300,
'scrapy.pipelines.images.FilesPipeline': 1,
}
내 first.py 아래의 코드를 찾아주십시오 이미지를 추출하는 scrapy을 만드는 오전
class FirstSpider(CrawlSpider):
name = "first"
allowed_domains = ["myntra.com"]
start_urls = [
'http://www.myntra.com/men-sports-tshirts-menu?src=tNav&f=Pattern_article_attr%3Astriped',
]
rules = [Rule(LinkExtractor(restrict_xpaths=['//*[@class="product-link"]']),callback='parse_lnk',follow=True)]
#rules = [Rule(LinkExtractor(allow=['.*']),callback='parse_lnk',follow=True)]
def parse_lnk(self, response):
item=MyntraItem()
item['product_urls']=response.url
item['files']=response.xpath('//*[@class="thumbnails-selected-image"]/@src')
item['image_urls']=item['files']
#print '666666666666666666',item['files']
return item
도와주세요 : 제 의도는 이미지를 다운로드하는 것입니다.
내 코드 'product_urls'는 이미지 링크 및 항목 [ 'files'] = response.xpath ('// * [@ class = "축소판 이미지 - 선택된 이미지"]/@ src')이 코드는 다운로드해야하는 이미지에 대한 정보를 가지고 있으며, image_urls로 이름을 바꾸는 것이 좋습니다. 업데이트 된 코드 –
을 확인하십시오. 'FilesPipeline'을 사용하고 있기 때문에, 1) 아이템 정의에서'file_urls' 필드를 사용하고, 아이템을 반환 할 때 그것을 채우거나, 2) 파이프 라인에 다른 필드를 찾고 당신의'settings. py'는'FILES_URLS_FIELD = "images_urls"'를 정의해야합니다. 대안으로, 코드 변경이 적어서'FilesPipeline' 대신'ImagesPipeline'을로드하는 것입니다. 또한'/ * [@ class = "thumbnails-selected-image"]/@ src'는 제품 페이지에서 이미지를 생성하지 않는 것으로 보입니다. –