5

Scrapyはファイルを正しくダウンロードしていません。アイテムのURLを持っているので、wgetを使用してファイルをダウンロードできると思いました。

Scrapyprocess_item関数内でwgetを使用するにはどうすればよいですか?または、ファイルをダウンロードする別の方法はありますか?

class MyImagesPipeline(ImagesPipeline):
    #Name download version
    def image_key(self, url):
        image_guid = url.split('/')[-1]
        return 'full/%s' % (image_guid)

    def get_media_requests(self, item, info):
        if item['image_urls']:
            for image_url in item['image_urls']:
            # wget -nH image_ul -P  images/
            yield Request(image_url)
4

1 に答える 1

4

このコードはwgetを実行します。コメントを次の行に置き換えることができます

import subprocess

    ...

subprocess.call(['wget','-nH', image_url, '-P  images/'])

subprocess.callについては、http://docs.python.org/2/library/subprocess.htmlで読むことができます。

于 2012-12-21T04:02:25.620 に答える