scrapy框架(二)內置圖片下載

一、項目熱身

(1)生成爬蟲,並將 start_urls 改成正確的開始url
(2)配置 setting 文件內容

二、取圖片URL的主要邏輯

  1. xpath定位li的位置 這裏的 div 可以省略
  2. xpath定位到圖片的 src 標籤
  3. yield方法傳遞到 pipelines 中

三、在 pipelines 中下載URL並保存文件

直接下載
  1. 接收yield回來的圖片url地址 # src
  2. 切割地址獲取保存圖片的文件名 # split
  3. 獲取文件存儲路徑 # os.path.join os.path.dirname
  4. 下載圖片 # request.urlretrieve(url, filename=None, ……)
使用內置的方法下載
  1. 獲取url的邏輯代碼中導入 from pic.items import PicItem
  2. 定義好一個Item,然後在這個item中定義兩個屬性,分別爲image_urls以及images。image_urls是用來存儲需要下載的文件的url鏈接,需要給一個列表 scrapy.Field()在這裏插入圖片描述
  3. 當文件下載完成後,會把文件下載的相關信息存儲到item的images屬性中。如下載路徑、下載的url和圖片校驗碼等
  4. 在配置文件settings.py中配置IMAGES_STORE,這個配置用來設置文件下載路徑在這裏插入圖片描述
  5. 啓動pipeline:在ITEM_PIPELINES中設置 scrapy.pipelines.images.ImagesPipeline:1(需要在 pipeline 導入模塊from scrapy.pipelines.images import ImagesPipeline)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章