2012-06-15 36 views
8

उबंटू पर, मैं wget का उपयोग कर एक फ़ाइल (एक स्क्रिप्ट से) डाउनलोड करने की कोशिश कर रहा हूं। इस फ़ाइल को हर रोज डाउनलोड करने और एक हडूप क्लस्टर पर लोड करने के लिए एक प्रोग्राम बनाना।काम नहीं कर रहा

हालांकि, निम्नलिखित संदेश के साथ, wget विफल रहता है।

wget http://www.nseindia.com/content/historical/EQUITIES/2012/JUN/cm15JUN2012bhav.csv.zip 
--2012-06-16 03:37:30-- http://www.nseindia.com/content/historical/EQUITIES/2012/JUN/cm15JUN2012bhav.csv.zip 
Resolving www.nseindia.com... 122.178.225.48, 122.178.225.18 
Connecting to www.nseindia.com|122.178.225.48|:80... connected. 
HTTP request sent, awaiting response... 403 Forbidden 
2012-06-16 03:37:30 ERROR 403: Forbidden. 

जब मैं फ़ायरफ़ॉक्स या समकक्ष में एक ही यूआरएल आज़माता हूं, तो यह ठीक काम करता है। और हां, कोई लाइसेंस समझौता नहीं है ...

क्या मुझे wget के बारे में कुछ बुनियादी याद आ रही है ??

+0

आप कितने समय तक उस डेटा को wget के साथ ला सकते हैं? मुझे लगता है कि आप यूआरएल तारों को जोड़कर प्रत्येक व्यापार दिवस के लिए यूआरएल बना रहे हैं? जानना उत्सुक है। –

+0

खैर, मुझे विश्वास है, एनएसई इंडिया के पास 2000 तक या तो डेटा वापस जा रहा है ... बीएसई इंडिया की समान सेवा है, और वे समय पर भी आगे जाते हैं ... – Gyan

उत्तर

12

साइट ब्लॉक wget क्योंकि wget डिफ़ॉल्ट रूप से एक असामान्य उपयोगकर्ता-एजेंट का उपयोग करता है। wget में एक अलग उपयोगकर्ता के एजेंट का उपयोग करने के लिए, कोशिश:

wget -U Mozilla/5.0 http://www.nseindia.com/content/historical/EQUITIES/2012/JUN/cm15JUN2012bhav.csv.zip 
+0

यह पूरी तरह से सच नहीं है। इसमें उपयोगकर्ता-एजेंट है: 'wget --help' के अनुसार Wget/VERSION। – Zagorax

+0

वाह, एक आकर्षण की तरह काम किया .. एक टन धन्यवाद। शायद अब महत्वाकांक्षी होने के कारण, क्या कोई बड़ा संस्करण नहीं है, क्योंकि अब इस wget के साथ, मैं * .zip या इसी तरह की कोशिश करने के माध्यम से नहीं मिलता ... कोई सुझाव ... – Gyan

+1

'wget --help' , रिकर्सिव डाउनलोड के लिए एक विकल्प है और दूसरा एक्सटेंशन जो आप डाउनलोड करना चाहते हैं। – Zagorax

6

उपयोग:

wget -U mozilla http://www.nseindia.com/content/historical/EQUITIES/2012/JUN/cm15JUN2012bhav.csv.zip 

कुछ साइटों बस फ़ाइलों को डाउनलोड करने wget उपयोगकर्ता-एजेंट को रोकने के। मैंने बस इस आदेश के साथ उस फ़ाइल को डाउनलोड किया। यह काम करता हैं।

0

एक और तकनीक webapps या वेबसर्वर का उपयोग कर सकते 'संदर्भ' सामग्री हैडर मान की जाँच करने के लिए है। उपयोगकर्ता एजेंट को निर्दिष्ट करने के अलावा, रेफरर यूआरएल की आपूर्ति करना आवश्यक हो सकता है।

जैसे

wget --referer http://freestockphotos.com/Scenery1.html http://freestockphotos.com/SKY/TreeSunset.jpg 

यह मेजबान लक्ष्य फ़ाइल के लिए अनुरोध को अस्वीकार करने के अगर वे जबकि 'Scenery1.html' पृष्ठ से नहीं किए गए थे प्रकट होता है।

2

मैं curl -O <URL> का उपयोग करता हूं क्योंकि wget HTTPS और कुछ अन्य प्रोटोकॉल का समर्थन नहीं करता है।

0

कुछ साइटें केवल wget -U 'मोज़िला/5.0 (एक्स 11; यू; लिनक्स i686; एन-यूएस; आरवी: 1.8.1.6) गीको/20070802 सागरमोकी/1.1.4' http://yourURL.com

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