一、項目熱身
(1)生成爬蟲,並將 start_urls 改成正確的開始url
(2)配置 setting 文件內容
二、取圖片URL的主要邏輯
- xpath定位li的位置 這裏的 div 可以省略
- xpath定位到圖片的 src 標籤
- yield方法傳遞到 pipelines 中
三、在 pipelines 中下載URL並保存文件
直接下載
- 接收yield回來的圖片url地址 # src
- 切割地址獲取保存圖片的文件名 # split
- 獲取文件存儲路徑 # os.path.join os.path.dirname
- 下載圖片 # request.urlretrieve(url, filename=None, ……)
使用內置的方法下載
- 獲取url的邏輯代碼中導入 from pic.items import PicItem
- 定義好一個Item,然後在這個item中定義兩個屬性,分別爲image_urls以及images。image_urls是用來存儲需要下載的文件的url鏈接,需要給一個列表 scrapy.Field()
- 當文件下載完成後,會把文件下載的相關信息存儲到item的images屬性中。如下載路徑、下載的url和圖片校驗碼等
- 在配置文件settings.py中配置IMAGES_STORE,這個配置用來設置文件下載路徑
- 啓動pipeline:在ITEM_PIPELINES中設置 scrapy.pipelines.images.ImagesPipeline:1(需要在 pipeline 導入模塊from scrapy.pipelines.images import ImagesPipeline)