Scrapy图像失真

时间:2016-08-05 07:15:41

标签: python scrapy

我一直在使用scrapy抓取网站并每隔几个月下载一次jpeg。今天,当我爬网站时,我注意到我的图像确实是扭曲的,但是当我转到图像的URL时,图像不会失真。我非常确定我的代码是正确的,并且我已经在其他网站上尝试过,问题仍然存在。

这里有失真的样子,下半部分带有文字偏移和变色: This was crawled from: http://i.imgur.com/6L31lEv.jpg

这来自抓取http://imgur.com/gallery/pcyl9并使用xpath查找http://i.imgur.com/6L31lEv.jpg

蜘蛛(example.py):

import scrapy
from test.items import TestItem
class ExampleSpider(scrapy.Spider):
    name = "example"
    allowed_domains = ["imgur.com"]
    start_urls = (
        'http://imgur.com/gallery/pcyl9',
    )

    def parse(self, response):
        item = TestItem()
        item['img_url'] = response.xpath('//link[@rel="image_src"]/@href').extract()
        return item

我将jpeg URL发送到一个简单的图像管道(pipelines.py):

import scrapy
from scrapy.pipelines.images import ImagesPipeline
class TestPipeline(ImagesPipeline):
        def get_media_requests(self, item, info):
            image_url = item['img_url'][0]
            yield scrapy.Request(image_url)

items.py:

import scrapy
class TestItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    img_url = scrapy.Field()

settings.py:

BOT_NAME = 'test'

SPIDER_MODULES = ['test.spiders']
NEWSPIDER_MODULE = 'test.spiders'
ROBOTSTXT_OBEY = True
ITEM_PIPELINES = {
    'test.pipelines.TestPipeline': 1
}
IMAGES_STORE = '/Users/brian/Projects/nb/test'

自从我上次使用它以来,我唯一能想到的就是我重新安装了可能更新scrapy和任何依赖项的anaconda。我用python 2.7.12运行scrapy v1.1.1。

我在具有scrapy 1.0.3的其他计算机上运行代码并正确下载图像。然后我在scda环境中的问题计算机上安装了scrapy 1.0.3,只是scrapy及其依赖,但图像仍然失真。

0 个答案:

没有答案