scrapy 自动下载图片

Item 字段名必须是 image_urls

即:image_urls = Field()

item[‘image_urls‘]的类型是一个list。

item[‘image_urls‘] = "http://some.jpg" 是不行的。

会有如下错误:

Traceback (most recent call last):
File "D:\Python27\lib\site-packages\scrapy\middleware.py", line 62, in _process_chain
return process_chain(self.methods[methodname], obj, *args)
File "D:\Python27\lib\site-packages\scrapy\utils\defer.py", line 65, in process_chain
d.callback(input)
File "D:\Python27\lib\site-packages\twisted\internet\defer.py", line 382, in callback
self._startRunCallbacks(result)
File "D:\Python27\lib\site-packages\twisted\internet\defer.py", line 490, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "D:\Python27\lib\site-packages\twisted\internet\defer.py", line 577, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "D:\Python27\lib\site-packages\scrapy\contrib\pipeline\media.py", line 40, in process_item
requests = arg_to_iter(self.get_media_requests(item, info))
File "D:\Python27\lib\site-packages\scrapy\contrib\pipeline\images.py", line 104, in get_media_requests
return [Request(x) for x in item.get(self.IMAGES_URLS_FIELD, [])]
File "D:\Python27\lib\site-packages\scrapy\http\request\__init__.py", line 26, in __init__
self._set_url(url)
File "D:\Python27\lib\site-packages\scrapy\http\request\__init__.py", line 57, in _set_url
self._set_url(url.encode(self.encoding))
File "D:\Python27\lib\site-packages\scrapy\http\request\__init__.py", line 61, in _set_url
raise ValueError(‘Missing scheme in request url: %s‘ % self._url)
exceptions.ValueError: Missing scheme in request url: h

必须是  item[‘image_urls‘] = ["http://some.jpg"]

时间: 2024-11-05 09:04:08

scrapy 自动下载图片的相关文章

scrapy (2)下载图片及存储信息

例1:scrapy项目的使用(利用item收集抓取的返回值) 1.创建scrapy项目 scrapy startproject booklist New Scrapy project 'booklist', using template directory '/usr/local/lib/python3.6/site-packages/scrapy/templates/project', created in:     /Users/yuanjicai/booklist You can star

我的第一个python爬虫程序(从百度贴吧自动下载图片)

这个学期开设了编译原理和形式语言与自动机,里面都有介绍过正则表达式,今天自己学了学用python正则表达式写爬虫 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛. 网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成

爬虫入门-5-2.scrapy框架下载图片

scrapy startproject bmw cd bmw scrapy genspider bmw5 'autohome.com.cn' 第一种方式:不使用ImagePipeline bww5.py: 1 import scrapy 2 from bmw.items import BmwItem 3 4 5 class Bmw5Spider(scrapy.Spider): 6 name = 'bmw5' 7 allowed_domains = ['autohome.com.cn'] 8 st

python爬虫入门---第三篇:自动下载图片

适用的图片网站:美桌 import requests import re import urllib from bs4 import BeautifulSoup def get_html_text(url): ''' 获取网址url的HTML代码,以字符串形式返回html代码 ''' try: res = requests.get(url, timeout = 6) res.raise_for_status() res.encoding = res.apparent_encoding retur

自动下载图片的脚本

很多年前,自己写的,自己的文件丢失了,神奇的网络让我又找到了 #!/bin/bash #Description: # download national geographic photo of the day and set it as background # wait for network connection to be established [[ -n $1 ]] && sleep $1 resolution=$(xrandr |grep -o 'current [^,]*'|

python爬虫实战——5分钟做个图片自动下载器

python爬虫实战--图片自动下载器 制作爬虫的基本步骤 顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤. 一般来说,制作一个爬虫需要分以下几个步骤: 分析需求(对,需求分析非常重要,不要告诉我你老师没教你) 分析网页源代码,配合F12(没有F12那么乱的网页源代码,你想看死我?) 编写正则表达式或者XPath表达式(就是前面说的那个神器) 正式编写python爬虫代码 效果 运行: 恩,让我输入关键词,让我想想,输入什么好呢?好像有点暴露爱好了. 回车 好像开始下载了!好赞!,我看

scrapy 中如何自定义 pipeline 下载图片

这里以一个很简单的小爬虫为例,爬取 壹心理 网站的阅读页面第一页的所有文章及其对应的图片,文章页面如下: 创建项目 首先新建一个 scrapy 项目,安装好相关依赖(步骤可参考:scrapy 安装及新建爬虫项目并运行). 新建一个爬虫: scrapy genspider xinli001 'www.xinli001.com/info' 此时项目工程目录与新建的爬虫如下: 爬取信息并编写图片自动下载逻辑 本次主要是记录自定义 pipeline 来爬取图片,所以只是简单的选取一些信息来爬取,包括文章

scrapy中下载文件和图片

下载文件是一种很常见的需求,例如当你在使用爬虫爬取网站中的图片.视频.word.pdf.压缩包等的时候 scrapy中提供了FilesPipeline和ImagesPipeline,专门用来下载文件和图片: 我们其实可以把这两个item pipeline看成是特殊的下载器,用户使用的时候只需要通过item的一个特殊的字段就可以将要下载的文件或者图片的url传递给它们,它们会自动将文件或者图片下载到本地,并将下载的结果信息存入到item的另一个特殊的字段,方便用户在导出文件的时候查阅 FilesP

通过scrapy内置的ImagePipeline下载图片到本地

1.通过scrapy内置的ImagePipeline下载图片到本地 1.通过scrapy内置的ImagePipeline下载图片到本地 1)在settings.py中打开 ITEM_PIPELINES 的注释,在  ITEM_PIPELINES 中加入 ITEM_PIPELINES = { 'spider_first.pipelines.SpiderFirstPipeline': 300, 'scrapy.pipelines.images.ImagesPipeline':5, #后面的数字代表执