Scrapy 在shell下抓取图片

版权声明:版权声明 https://blog.csdn.net/duty_is_codeing/article/details/72978490

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到用户图片目录

学习的一小步

猜你喜欢

转载自blog.csdn.net/duty_is_codeing/article/details/72978490
今日推荐