2012-12-21 15 views
5

स्कैर फ़ाइलों के साथ फ़ाइलों को डाउनलोड करने के लिए wget का उपयोग कैसे कर सकता हूं फ़ाइलों को ठीक से डाउनलोड नहीं कर रहा है। मेरे पास मेरे आइटम के यूआरएल हैं, इसलिए मुझे लगा कि मैं फ़ाइलों को डाउनलोड करने के लिए wget का उपयोग कर सकता हूं।मैं स्केपर

मैं process_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) 
+0

क्या आप वास्तव में प्राप्त करने के लिए कोशिश कर रहे हैं और अब तक तुमने क्या प्रयास किये हैं? – Tadeck

+0

मैं स्केपर के साथ छवियों को डाउनलोड कर रहा हूं लेकिन स्केपर में कुछ बग के कारण gif एनीमेशन को एनिमेटेड नहीं किया गया है। तो मैं सोच रहा था कि मुझे छवियों को लिखने के बजाय सीधे छवियों को डाउनलोड करने के लिए wget का उपयोग करना चाहिए। मैं अपना पाइपलाइन कोड – user19140477031

उत्तर

4

इस कोड को wget पर अमल करेंगे, तो आप निम्नलिखित लाइनों

import subprocess 

    ... 

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

आप subprocess.call के बारे में यहाँ पढ़ सकते हैं के साथ अपनी टिप्पणी की जगह ले सकता: http://docs.python.org/2/library/subprocess.html

+0

धन्यवाद दोस्त पोस्ट करूंगा, मैं कोशिश करूँगा – user19140477031

+0

मुझे यह 'wget: अवैध विकल्प -' -n' – user19140477031

+0

मैंने अपना जवाब संपादित किया: मैं तर्कों को विभाजित करना भूल गया, अब यह सही होना चाहिए – furins

संबंधित मुद्दे