2012-06-15 2 views
8

На Ubuntu, я пытаюсь загрузить файл (из сценария) с помощью wget. Создание программы для загрузки этого файла каждый день и загрузки в кластер hadoop.wget not working

однако 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. 

При попытке использовать тот же URL-адрес в firefox или его эквиваленте, он работает нормально. И да, никаких лицензионных соглашений не существует ...

Я пропустил что-то общее относительно wget ??

+0

Как далеко назад вы можете получить эти данные с помощью wget? Я предполагаю, что вы создаете URL-адреса для каждого торгового дня, объединяя строки URL-адресов? Любопытно узнать. –

+0

Ну, я считаю, что NSEIndia имеет данные, возвращающиеся до 2000 года или около того ... bSEIndia имеет аналогичную услугу, и они возвращаются вовремя еще дальше ... – Gyan

ответ

12

Сайт блокирует wget, поскольку wget по умолчанию использует необычный пользовательский агент. Для использования другого агента пользователя в Wget, попробуйте:

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

Это не совсем так. Он имеет пользовательский агент: Wget/VERSION в соответствии с 'wget -help'. – 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 или веб-серверы могут использовать, чтобы проверить значение содержания заголовка в «REFERRER». В дополнение к указанию пользовательского агента может потребоваться указать URL-адрес реферера.

например,

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

Этот узел появляется, чтобы отклонить запросы для целевого файла, если они не были сделаны во время навигации с помощью страницы «Scenery1.html».

2

Я использую curl -O <URL>, потому что wget не поддерживает HTTPS и некоторые другие протоколы.

0

Некоторые сайты просто запрещают пользователю-пользователю загружать файлы wget -U 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv: 1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4' http://yourURL.com