0
我們的刮板目前不僅下載文本,而且還下載圖像。目前狀態下的刮刀工作正常,但是我們對下載圖像的質量存在很大的問題。 檢查標準ImagePipeline後,我們實現了一個自定義的,它告訴枕頭使用最高質量的,它看起來像這樣(在settings.py配置):Scrapy自定義ImagePipeline - 質量設置
from scrapy.contrib.pipeline.images import ImagesPipeline
from scrapy.exceptions import DropItem
from scrapy.http import Request
from cStringIO import StringIO
class CustomImagesPipeline(ImagesPipeline):
def convert_image(self, image, size=None):
buf = StringIO()
image.save(buf, 'JPEG', quality=100)
return image, buf
我們也嘗試採取從其他幾個預置此文件: https://github.com/python-imaging/Pillow/blob/master/PIL/JpegPresets.py
我們確實沒有看到任何改進。有人在這裏解決這個問題,或有一個想法是什麼問題的代碼?
謝謝:)
有[封閉公關](https://github.com/scrapy/scrapy/pull/250)我前一段時間打開,增加了選項* *不*轉換下載的圖像。如果這是您需要的,請在修改的字段中查找「ORIGINAL_SAVE」。 ImagePipeline已經改變了,但我計劃打開一個新的公關再次推薦它。 –
保羅,謝謝你的提示。實際上,我發現了另一個最近合併的PR,尚未記錄。我很快就會爲此添加一個答案。 – herrherr
我知道這個公關:)(我的公關也做了類似的文件),也適用於你的用例。 –