Scrapy 在shell下抓取圖片
阿新 • • 發佈:2018-12-15
scrappy 新手的練習工具scrapy shell
開發環境macbook 終端zsh模式
已安裝有scrapy專案
例項練習 抓取http://www.5857.com/meixiong/ 網址裡面的圖片
在zsh終端輸入
scrapy shell http://www.5857.com/meixiong/
進入一個Scrapy互動終端
關於Scrapy shell 的官網文件
http://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/shell.html
首先倒入需要實用的包
>>> from scrapy.selector import Selector
>>> from scrapy.http import HtmlResponse
>>> import urllib
>>> import os
>>> img_urls=response.css('img').xpath('@src').extract()
*//實用xpath 和css 兩種過濾方式獲取圖片路徑*
>>> img_urls[3]
u'http://www.5857.com/uploadfile/2017/0608/20170608022711475.jpg'
*//實用urllib retrieve方法下載圖片*
>>> urllib.urlretrieve(img_urls[3],"/Users/macuser/Pictures/11475.jpg")
('/Users/macuser/Pictures/11475.jpg', <httplib.HTTPMessage instance at 0x103f89998>)
//實用split方法擷取到url末端的圖片名
>>> temptexts=img_urls[3].split('/')
>>> file_name=temptexts[len(temptexts)-1]
>>> file_name
u'20170608022711475.jpg'
*//使用file_name 下載圖片*
>>> urllib.urlretrieve(img_urls[3],"/Users/macuser/Pictures/"+file_name)
(u'/Users/macuser/Pictures/20170608022711475.jpg', <httplib.HTTPMessage instance at 0x103f83200>)
*//使用for迴圈下img_urls裡面所有的圖片*
>>> for i in range(len(img_urls)):
... temptexts=img_urls[i].split('/')
... file_name=temptexts[len(temptexts)-1]
... urllib.urlretrieve(img_urls[i],"/Users/macuser/Pictures/"+file_name)
實現下載img到使用者圖片目錄
學習的一小步