나는 치료에 초보자입니다. here에서 이미지를 다운로드하려고합니다. 나는 Official-Doc과 this article을 따라 갔다. 나는이 두 파일이 좋은 생각Scrapy를 사용하여 이미지를 다운로드하는 방법?
import scrapy
from scrapy.item import Item
class ShopcluesItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
pass
class ImgData(Item):
image_urls=scrapy.Field()
images=scrapy.Field()
: 같은
BOT_NAME = 'shopclues'
SPIDER_MODULES = ['shopclues.spiders']
NEWSPIDER_MODULE = 'shopclues.spiders'
ROBOTSTXT_OBEY = True
ITEM_PIPELINES = {
'scrapy.contrib.pipeline.images.ImagesPipeline':1
}
IMAGES_STORE="home/pr.singh/Projects"
및 items.py
보이는 : 같은
내 settings.py 보인다. 그러나 나는 이미지를 얻기 위해 정확한 스파이더를 쓸 수 없다. 이미지 URL을 가져올 수 있지만 imagePipeline
을 사용하여 이미지를 저장하는 방법을 알지 못합니다. 내가 this-article을 다음과 거미를 작성했습니다
from shopclues.items import ImgData
import scrapy
import datetime
class DownloadFirstImg(scrapy.Spider):
name="DownloadfirstImg"
start_urls=[
'http://www.shopclues.com/canon-powershot-sx410-is-2.html',
]
def parse (self, response):
url= response.css("body div.site-container div#container div.ml_containermain div.content-helper div.aside-site-content div.product form#product_form_83013851 div.product-gallery div#product_images_83013851_update div.slide a#det_img_link_83013851_25781870")
yield scrapy.Request(url.xpath('@href').extract(),self.parse_page)
def parse_page(self,response):
imgURl=response.css("body div.site-container div#container div.ml_containermain div.content-helper div.aside-site-content div.product form#product_form_83013851 div.product-gallery div#product_images_83013851_update div.slide a#det_img_link_83013851_25781870::attr(href)").extract()
yield {
ImgData(image_urls=[imgURl])
}
: 같은
내 거미 보인다. 그러나 나는 아무것도 얻지 못하고있다. 나는 내 거미를 scrapy crawl DownloadfirstImg -o img5.json
으로 실행하지만 나는 어떤 json이나 이미지도 얻지 못하고 있습니까?
URL 인 경우 이미지를 잡는 방법에 대한 도움말. 나도 파이썬으로 일한 적이 없기 때문에 상황이 훨씬 복잡해 보입니다. 좋은 자습서에 대한 링크가 도움이 될 수 있습니다. TIA
시간이 오래 걸렸습니다. 심지어 나는 내가하고있는 일을 혼란 스러웠다. 그들의 설명서 이외의 좋은 튜토리얼에 대한 링크를 제공 할 수 있습니까? 또한이 코드는 이미지를 삭제하고 다시 시도한 후 처음으로 작동했습니다. Spider 오류 처리 (referer : 없음)'? 가능한 이유는 무엇일까요? BTW, 도와 줘서 고마워. :) –
@PrashantPrabhakarSingh 그 오류가 발생하면 추적 오류가 무엇이 잘못되었는지 알려줍니다. 오류의 마지막 줄은 무엇입니까? –
잊어 버려. 내가 디렉토리에 손상된 파일을 가지고 있었는데, 그 중 하나를 삭제하고 모든 것이 잘 작동했습니다. 내가 작성한 것을 알지 못하기 때문에 코드를 디버그 할 수 없었고, 코드는 복사 - 붙여 넣기와 같은 것이었다. 거기에 좋은 자습서/블로그 (그들의 설명서를 제외하고) 사용할 수 있습니까? 고마워요. –