3
我是scrapy的新手。我正試圖從here下載圖像。我跟着Official-Doc和this article。
如何使用Scrapy下載圖像?
我的settings.py樣子:
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
樣子:
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()
我認爲這兩個文件都不錯。但我無法寫出正確的蜘蛛來獲取圖像。我可以抓取圖片網址,但不知道如何使用imagePipeline
存儲圖片。
我的蜘蛛看起來像:
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])
}
我已經寫了下面的this-article蜘蛛。但我沒有得到任何東西。我運行我的蜘蛛scrapy crawl DownloadfirstImg -o img5.json
,但我沒有得到任何json或任何圖像?
如何獲取圖像的任何幫助,如果它的網址是已知的。我從來沒有使用過python,所以對我來說看起來很複雜。任何優秀教程的鏈接可能會有幫助。 TIA
大,那幾秒鐘內工作。即使我對我在做什麼感到困惑,但並不確定這一切是如何運作的。你能否提供除文檔以外的一些優秀教程的鏈接。此外,該代碼工作的第一次,之後我刪除的圖像,並試圖再次我得到'蜘蛛錯誤處理(引薦:無)'?可能的原因是什麼?順便說一句,感謝幫助:) –
@PrashantPrabhakarSingh的錯誤發生後回溯告訴你什麼是錯的。錯誤的最後一行是什麼? –
忘記它。我在目錄中有一個損壞的文件,刪除了一個,一切正常。我無法調試我的代碼,因爲即使我不知道我寫了什麼,我的代碼只是一種複製粘貼。有沒有好的教程/博客可以開始(除了他們的文檔)?謝謝你。 –