Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] wget команда не закачивает файл по ссылке (http://forum.oszone.net/showthread.php?t=341096)

v79italya 29-06-2019 18:44 2877370

wget команда не закачивает файл по ссылке
 
добрый день. хотел закачать файл .csv по ссылке через wget команду. команда такая: c:\wget\wget.exe -i c:\url-list.txt --secure-protocol=auto -nc -c -P c:\files\ . выходит такое сообщение
Скрытый текст
HTML код:

Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт 2012. Все права защищены.

C:\Users\Администратор>c:\wget\wget.exe -i c:\url-list.txt --secure-protocol=aut
o -nc -c -P c:\files\
--2019-06-29 20:33:55--  https://query1.finance.yahoo.com/v7/finance/download/AA
U?period1=1530282224&period2=1561818224&interval=1d&events=history&crumb=lW3nnVK
.6HD
Resolving query1.finance.yahoo.com (query1.finance.yahoo.com)... 87.248.118.23,
87.248.118.22, 2a00:1288:80:800::7000, ...
Connecting to query1.finance.yahoo.com (query1.finance.yahoo.com)|87.248.118.23|
:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized

Username/Password Authentication Failed.

C:\Users\Администратор>


какая причина не пойму, так как мало в этом разбираюсь. есть момент что эсли эту ссылку на яхоо вставить в браузер IE, то загрузка не происходит. если же вставить в браузер гугл хром, то без лишних диалогов закачивает на ура. хотелось бы закачать через wget.
не могли бы помочь найти проблему. или есть другие варианты для скачивания нескольких файлов по списку

Nordek 29-06-2019 19:10 2877373

Цитата:

Цитата v79italya
выходит такое сообщение »

Пробуйте сохранить cookies из браузера и загрузить:
Код:

--load-cookies=ФАЙЛ

v79italya 29-06-2019 19:58 2877382

Цитата:

Цитата Nordek
--load-cookies=ФАЙЛ »

я извиняюсь, попробовал так: c:\wget\wget.exe -i c:\url-list.txt --secure-protocol=auto -nc -c -P --load-cookies=c:\files\
не работает. я очень плохо в этом разбираюсь

попробовал так - c:\wget\wget.exe --load-cookies=https://query1.finance.yahoo.com/v7/finance/download/AAU?period1=1530282224&period2=1561818224&interval=1d&events=history&crumb=lW3nnVK.6HD - тоже не работает

Iska 29-06-2019 20:46 2877389

v79italya, явным же образом написано:
Цитата:

Цитата v79italya
Код:

HTTP request sent, awaiting response... 401 Unauthorized
Username/Password Authentication Failed.

»


v79italya 29-06-2019 20:59 2877393

как в коде прописать Username/Password. я уже все пробовал из того, что нагуглил.
есть ли возможность прописать в коде использование браузера гугл хром? может из за этого не работает

Nordek 29-06-2019 21:07 2877394

v79italya, Вы не поняли. Вам нужно сохранить Cookie в файл, затем посунуть wget'у.
Пример:
Код:

wget.exe -с "https://query1.finance.yahoo.com/v7/finance/download/AAU?period1=" --load-cookies=C:\mycookies.txt
Либо авторизоваться.
Или или или:
Код:

wget.exe "Ссылка" --user=ПОЛЬЗОВАТЕЛЬ --password=ПАРОЛЬ
Код:

wget.exe "Ссылка" --http-user= ПОЛЬЗОВАТЕЛЬ --http-password=ПАРОЛЬ
Код:

wget.exe "Ссылка" --ftp-user=ПОЛЬЗОВАТЕЛЬ --ftp-password=ПАРОЛЬ
Читайте справку:
Скрытый текст
Код:

Использование: wget [ПАРАМЕТР]... [url]...

Обязательные аргументы для длинных параметров являются обязательными и для коротких параметров.

Запуск:
  -V,  --version          показать версию Wget и завершить работу
  -h,  --help              показать эту справку
  -b,  --background        после запуска перейти в фоновый режим
  -e,  --execute=КОМАНДА  выполнить команду в стиле «.wgetrc»

Журналирование и входной файл:
  -o,  --output-file=ФАЙЛ    записывать сообщения в ФАЙЛ
  -a,  --append-output=ФАЙЛ  дописывать сообщения в конец ФАЙЛА
  -d,  --debug              показать много отладочной информации
  -q,  --quiet              ничего не выводить
  -v,  --verbose            показывать подробные сведения (по умолчанию)
  -nv, --no-verbose          отключить вывод подробных сведений (не полностью)
      --report-speed=ТИП    единицы измерения пропускной способности
                            определить ТИПОМ. ТИП может быть равно bits
  -i,  --input-file=ФАЙЛ    загрузить URL-ы согласно локальному
                            или внешнему ФАЙЛУ
  -F,  --force-html          считать, что входной файл — HTML
  -B,  --base=URL            считать, что ссылки из входного файла (-i -F)
                            указаны относительно URL
      --config=ФАЙЛ        задать файл настроек
      --no-config          не читать файлы настроек
      --rejected-log=ФАЙЛ  протоколировать причины отброса URL в ФАЙЛ

Загрузка:
  -t,  --tries=ЧИСЛО            установить ЧИСЛО повторных попыток
                                (0 без ограничения)
      --retry-connrefused      повторять, даже если в подключении отказано
      --retry-on-http-error=ОШИБКИ
                                  список (через запятую) ошибок HTTP,
                                  вызывающих повтор
  -O,  --output-document=ФАЙЛ    записывать документы в ФАЙЛ
  -nc, --no-clobber              пропускать загрузки, которые приведут к
                                загрузке уже существующих файлов
                                (и их перезаписи)
      --no-netrc                  не пытаться получить данные из .netrc
  -c,  --continue                возобновить загрузку частично загруженного
                                файла
      --start-pos=СМЕЩЕНИЕ      начинать загрузку со СМЕЩЕНИЯ (считается с 0)
      --progress=ТИП            выбрать тип индикатора выполнения
      --show-progress          показывать индикатор выполнения в любом
                                режиме подробности
  -N,  --timestamping            не загружать повторно файлы, только если они
                                не новее, чем локальные
      --no-use-server-timestamps    не использовать проверку
                                if-modified-since для запросов в режиме учёта
                                меток времени
  --no-use-server-timestamps    не устанавливать метку времени локальному
                                файлу, полученную с сервера
  -S,  --server-response        вывод ответа сервера
      --spider                  ничего не загружать
  -T,  --timeout=СЕКУНДЫ        установка значений всех тайм-аутов равными
                                числу СЕКУНД
      --dns-timeout=СЕК        установка тайм-аута поиска в DNS в СЕК
      --connect-timeout=СЕК    установка тайм-аута подключения в СЕК
      --read-timeout=СЕК        установка тайм-аута чтения в СЕК
  -w,  --wait=СЕКУНДЫ            пауза в СЕКУНДАХ между загрузками
      --waitretry=СЕКУНДЫ      пауза в 1..СЕКУНДЫ между повторными
                                попытками загрузки
      --random-wait            пауза в 0.5*WAIT...1.5*WAIT секунд
                                между загрузками
      --no-proxy                явно выключить прокси
  -Q,  --quota=ЧИСЛО            установить величину квоты загрузки в ЧИСЛО
      --bind-address=АДРЕС      привязать АДРЕС (имя компьютера или IP)
                                локального компьютера
      --limit-rate=СКОРОСТЬ    ограничить СКОРОСТЬ загрузки
      --no-dns-cache            отключить кэширование DNS-запросов
      --restrict-file-names=ОС  использовать в именах файлов символы,
                                допустимые в ОС
      --ignore-case            игнорировать регистр при сопоставлении
                                файлов и/или каталогов
  -4,  --inet4-only              подключаться только к адресам IPv4
  -6,  --inet6-only              подключаться только к адресам IPv6
      --prefer-family=СЕМЕЙСТВО подключаться сначала к адресам указанного
                                семейства (может быть IPv6, IPv4 или ничего)
      --user=ПОЛЬЗОВАТЕЛЬ      установить и ftp- и http-пользователя в
                                ПОЛЬЗОВАТЕЛЬ
      --password=ПАРОЛЬ        установить ftp- и http-пароль в ПАРОЛЬ
      --ask-password            запрашивать пароли
      --use-askpass=КОМАНДА    указать обработчик мандатов для запроса
                                имени пользователя и пароля. Если
                                КОМАНДА не указана, то используется
                                переменная окружения WGET_ASKPASS
                                или SSH_ASKPASS.
      --no-iri                  выключить поддержку IRI
      --local-encoding=КДР      использовать КДР как локальную кодировку
                                для IRI
      --remote-encoding=КДР    использовать КДР как удалённую кодировку
                                по умолчанию
      --unlink                  удалить файл перед затиранием
      --xattr                    turn on storage of metadata in extended file attributes

Каталоги:
  -nd, --no-directories          не создавать каталоги
  -x,  --force-directories        принудительно создавать каталоги
  -nH, --no-host-directories      не создавать каталоги как на узле
      --protocol-directories    использовать имя протокола в каталогах
  -P,  --directory-prefix=ПРЕФИКС сохранять файлы в ПРЕФИКС/..
      --cut-dirs=ЧИСЛО          игнорировать ЧИСЛО компонентов удалённого
                                  каталога

Параметры HTTP:
      --http-user=ПОЛЬЗОВ.    установить http-пользователя в ПОЛЬЗОВАТЕЛЬ
      --http-password=ПАРОЛЬ  установить http-пароль в ПАРОЛЬ
      --no-cache              отвергать кэшированные сервером данные
      --default-page=ИМЯ      изменить имя страницы по умолчанию (обычно
                              это «index.html»)
  -E,  --adjust-extension      сохранять документы HTML/CSS с надлежащими
                              расширениями
      --ignore-length        игнорировать поле заголовка «Content-Length»
      --header=СТРОКА        вставить СТРОКУ между заголовками
      --compression=ТИП      тип сжатия: auto, gzip или none
                              (по умолчанию: none)
      --max-redirect          максимально допустимое число перенаправлений
                              на страницу
      --proxy-user=ПОЛЬЗОВ.  установить ПОЛЬЗОВАТЕЛЯ в качестве имени
                              пользователя для прокси
      --proxy-password=ПАРОЛЬ  установить ПАРОЛЬ в качестве пароля для
                              прокси
      --referer=URL          включить в HTTP-запрос заголовок «Referer: URL»
      --save-headers          сохранять HTTP-заголовки в файл
  -U,  --user-agent=АГЕНТ      идентифицировать себя как АГЕНТ вместо
                              Wget/ВЕРСИЯ
      --no-http-keep-alive    отключить поддержание активности HTTP
                              (постоянные подключения)
      --no-cookies            не использовать кукисы
      --load-cookies=ФАЙЛ    загрузить кукисы из ФАЙЛА перед сеансом
      --save-cookies=ФАЙЛ    сохранить кукисы в ФАЙЛ после сеанса
      --keep-session-cookies  загрузить и сохранить кукисы сеанса
                              (непостоянные)
      --post-data=СТРОКА      использовать метод POST; отправка СТРОКИ в
                              качестве данных
      --post-file=ФАЙЛ        использовать метод POST; отправка содержимого
                              ФАЙЛА
      --method=HTTPMethod    использовать метод «HTTPMethod» в заголовке
      --body-data=СТРОКА      отправка СТРОКИ в качестве данных;
                              ДОЛЖЕН быть указан параметр --method
      --body-file=ФАЙЛ        отправка содержимого ФАЙЛА;
                              ДОЛЖЕН быть указан параметр --method
      --content-disposition  учитывать заголовок Content-Disposition
                              при выборе имён для локальных файлов
                              (ЭКСПЕРИМЕНТАЛЬНЫЙ)
      --content-on-error      выводить принятые данные при ошибках сервера
      --auth-no-challenge    отправлять информацию об аутентификации
                              Basic HTTP не дожидаясь первого ответа
                              сервера

Параметры HTTPS (SSL/TLS):
      --secure-protocol=ПР    выбор протокола безопасности: auto, SSLv2,
                                SSLv3, TLSv1, TLSv1_1, TLSv1_2 или PFS
      --https-only            переходить только по безопасным ссылкам HTTPS
      --no-check-certificate  не проверять сертификат сервера
      --certificate=FILE      файл сертификата пользователя
      --certificate-type=ТИП  тип сертификата пользователя: PEM или DER
      --private-key=ФАЙЛ      файл секретного ключа
      --private-key-type=ТИП  тип секретного ключа: PEM или DER
      --ca-certificate=ФАЙЛ    файл с набором CA
      --ca-directory=КАТ      каталог, в котором хранится список CA
      --crl-file=ФАЙЛ          файл с набором CRL
      --pinnedpubkey=ФАЙЛ/ХЭШИ  Файл с открытым ключом (PEM/DER) или любое
                                количество хэшей sha256 в виде base64,
                                начинающихся с «sha256//» и разделённых «;»,
                                по которым проверяется ответный узел

      --ciphers=СТРОКА        назначить строку приоритета (GnuTLS) или
                                список шифров (OpenSSL) непосредственным
                                образом. Использовать осторожно. Данный
                                параметр заменяет значение --secure-protocol.
                                Формат и синтаксис строки зависит от
                                используемой библиотеки SSL/TLS.
Параметры HSTS:
      --no-hsts              отключить HSTS
      --hsts-file            путь к базе данных HSTS (заменит значение
                              по умолчанию)

Параметры FTP:
      --ftp-user=ПОЛЬЗОВАТЕЛЬ установить ftp-пользователя в ПОЛЬЗОВАТЕЛЬ
      --ftp-password=ПАРОЛЬ  установить ftp-пароль в ПАРОЛЬ
      --no-remove-listing    не удалять файлы «.listing»
      --no-glob              выключить маски для имён файлов FTP
      --no-passive-ftp        отключить «пассивный» режим передачи
      --preserve-permissions  сохранять права доступа удалённых файлов
      --retr-symlinks        при рекурсии загружать файлы по ссылкам
                              (не каталоги)

Параметры FTPS:
      --ftps-implicit                безусловно использовать FTPS (порт
                                      по умолчанию — 990)
      --ftps-resume-ssl              возобновлять сеанс SSL/TLS, начатый
                                      в канале управления, при открытии
                                      канала данных
      --ftps-clear-data-connection    шифровать только канал управления;
                                      данные не шифруются
      --ftps-fallback-to-ftp          вернуться к FTP, если FTPS не
                                      поддерживается сервером
Параметры WARC:
      --warc-file=ФАЙЛ          записать данные запроса/ответа в файл .warc.gz
      --warc-header=СТРОКА      вставить СТРОКУ в запись warcinfo
      --warc-max-size=ЧИСЛО    максимальный размер файлов WARC равен ЧИСЛУ
      --warc-cdx                записать индексные файлы CDX
      --warc-dedup=ФАЙЛ        не сохранять записи, перечисленные в файле CDX
      --no-warc-compression    не сжимать файлы WARC с помощью GZIP
      --no-warc-digests        не вычислять дайджесты SHA1
      --no-warc-keep-log        не сохранять файл журнала в записи WARC
      --warc-tempdir=КАТАЛОГ    расположение для временных файлов,
                                создаваемых процедурой записи WARC

Рекурсивная загрузка:
  -r,  --recursive          включение рекурсивной загрузки
  -l,  --level=ЧИСЛО        глубина рекурсии (inf и 0 — бесконечность)
      --delete-after      удалять локальные файлы после загрузки
  -k,  --convert-links      делать ссылки локальными в загруженном
                            HTML или CSS
      --convert-file-only  преобразовывать только файловую часть URL
                            (базовую часть имени)
  --backups=N              перед записью файла X, ротировать до N
                            резервных файлов
  -K,  --backup-converted  перед преобразованием файла X делать резервную
                            копию в виде X.orig
  -m,  --mirror            короткий параметр, эквивалентный
                            -N -r -l inf --no-remove-listing
  -p,  --page-requisites    загрузить все изображения и проч., необходимые
                            для отображения HTML-страницы
      --strict-comments    включить строгую (SGML) обработку комментариев
                            HTML

Разрешения/запреты при рекурсии:
  -A,  --accept=СПИСОК            список разрешённых расширений
                                  через запятую
  -R,  --reject=СПИСОК            список запрещённых расширений,
                                  разделённых запятыми.
      --accept-regex=РЕГВЫР      регулярное выражение для разрешённых URL
      --reject-regex=РЕГВЫР      регулярное выражение для запрещённых URL
      --regex-type=ТИП            тип регулярного выражения (posix|pcre)
  -D,  --domains=СПИСОК            список разрешённых доменов,
                                  через запятую
      --exclude-domains=СПИСОК    список запрещённых доменов,
                                  через запятую
      --follow-ftp                следовать по ссылкам FTP в HTML-документах
      --follow-tags=СПИСОК        список используемых тегов HTML,
                                  через запятую
      --ignore-tags=СПИСОК        список игнорируемых тегов HTML,
                                  через запятую
  -H,  --span-hosts                заходить на чужие узлы при рекурсии
  -L,  --relative                  следовать только по относительным ссылкам
  -I,  --include-directories=СПИСОК список разрешённых каталогов
  --trust-server-names  использовать имя, указанное в перенаправляющем URL,
                        в качестве последнего компонента.
  -X,  --exclude-directories=СПИСОК список исключаемых каталогов
  -np, --no-parent                не подниматься в родительский каталог


v79italya 30-06-2019 07:03 2877427

Nordek, спасибо за совет. последние три команды, по моему, ругаются уже по другому поводу
HTML код:

[spoiler]Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт 2012. Все права защищены.

C:\Users\Администратор>wget.exe -с "https://query1.finance.yahoo.com/v7/finance/
download/AAU?period1=" --load-cookies=C:\mycookies.txt
"wget.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Users\Администратор>c:\wget\wget.exe -с "https://query1.finance.yahoo.com/v7/
finance/download/AAU?period1=" --load-cookies=C:\mycookies.txt
c:\wget\wget.exe: invalid option -- 'с'
Usage: wget [OPTION]... [url]...
может есть возможность в Excel на VBA сделать?

Try `wget --help' for more options.

C:\Users\Администратор>c:\wget\wget.exe -с "https://query1.finance.yahoo.com/v7/
finance" --load-cookies=C:\mycookies.txt
c:\wget\wget.exe: invalid option -- 'с'
Usage: wget [OPTION]... [url]...

Try `wget --help' for more options.

C:\Users\Администратор>c:\wget\wget.exe  "https://query1.finance.yahoo.com/v7/fi
nance" --load-cookies=C:\mycookies.txt
Cannot open cookies file 'C:/mycookies.txt': No such file or directory
--2019-06-30 08:45:25--  https://query1.finance.yahoo.com/v7/finance
Resolving query1.finance.yahoo.com (query1.finance.yahoo.com)... 87.248.118.22,
87.248.118.23, 2a00:1288:80:800::7000, ...
Connecting to query1.finance.yahoo.com (query1.finance.yahoo.com)|87.248.118.22|
:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-06-30 08:45:26 ERROR 404: Not Found.


C:\Users\Администратор>c:\wget\wget.exe -i https://query1.finance.yahoo.com/v7/f
inance/download/AAU?period1=1530282224&period2=1561818224&interval=1d&events=his
tory&crumb=lW3nnVK.6HD --user=xxx@yahoo.com --password=xxx -nc -c -P
c:\files\
--2019-06-30 08:55:26--  https://query1.finance.yahoo.com/v7/finance/download/AA
U?period1=1530282224
Resolving query1.finance.yahoo.com (query1.finance.yahoo.com)... 87.248.118.22,
87.248.118.23, 2a00:1288:80:800::7000, ...
Connecting to query1.finance.yahoo.com (query1.finance.yahoo.com)|87.248.118.22|
:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized

Username/Password Authentication Failed.
No URLs found in https://query1.finance.yahoo.com/v7/finance/download/AAU?period
1=1530282224.
"period2" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"interval" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"events" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"crumb" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Users\Администратор>c:\wget\wget.exe -i https://query1.finance.yahoo.com/v7/f
inance/download/AAU?period1=1530282224&period2=1561818224&interval=1d&events=his
tory&crumb=lW3nnVK.6HD --http-user=xxx@yahoo.com --http-password=xxx
-nc -c -P c:\files\
--2019-06-30 08:56:12--  https://query1.finance.yahoo.com/v7/finance/download/AA
U?period1=1530282224
Resolving query1.finance.yahoo.com (query1.finance.yahoo.com)... 87.248.118.22,
87.248.118.23, 2a00:1288:80:800::7000, ...
Connecting to query1.finance.yahoo.com (query1.finance.yahoo.com)|87.248.118.22|
:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized

Username/Password Authentication Failed.
No URLs found in https://query1.finance.yahoo.com/v7/finance/download/AAU?period
1=1530282224.
"period2" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"interval" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"events" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"crumb" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Users\Администратор>c:\wget\wget.exe -i https://query1.finance.yahoo.com/v7/f
inance/download/AAU?period1=1530282224&period2=1561818224&interval=1d&events=his
tory&crumb=lW3nnVK.6HD --ftp-user=xxx@yahoo.com --ftp-password=xxx -n
c -c -P c:\files\
--2019-06-30 08:56:40--  https://query1.finance.yahoo.com/v7/finance/download/AA
U?period1=1530282224
Resolving query1.finance.yahoo.com (query1.finance.yahoo.com)... 87.248.118.22,
87.248.118.23, 2a00:1288:80:800::7000, ...
Connecting to query1.finance.yahoo.com (query1.finance.yahoo.com)|87.248.118.22|
:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized

Username/Password Authentication Failed.
No URLs found in https://query1.finance.yahoo.com/v7/finance/download/AAU?period
1=1530282224.
"period2" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"interval" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"events" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"crumb" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Users\Администратор>

[/spoiler]может есть возможность сделать в Excel на VBA?

Nordek 30-06-2019 08:38 2877433

Цитата:

Цитата v79italya
Код:

"period2" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"interval" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"events" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"crumb" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

»

В url добавьте кавычки, пример:
Код:

c:\wget\wget.exe -i "https://query1.finance.yahoo.com/v7/finance/download/AAU?period1=1530282224&period2=1561818224&interval=1d&events=history&crumb=lW3nnVK.6HD" --http-user=xxx@yahoo.com --http-password=xxx -nc -c -P C:\files\

v79italya 30-06-2019 10:33 2877441

Nordek, теперь такие ответы
Скрытый текст
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт 2012. Все права защищены.

C:\Users\Администратор>c:\wget\wget.exe -i "https://query1.finance.yahoo.com/v7/
finance/download/AAU?period1=1530282224&period2=1561818224&interval=1d&events=hi
story&crumb=lW3nnVK.6HD" --http-user=xxx@yahoo.com --http-password=xxx -nc -c -P c:\files\
--2019-06-30 12:28:30-- https://query1.finance.yahoo.com/v7/finance/download/AA
U?period1=1530282224&period2=1561818224&interval=1d&events=history&crumb=lW3nnVK
.6HD
Resolving query1.finance.yahoo.com (query1.finance.yahoo.com)... 87.248.118.22,
87.248.118.23, 2a00:1288:80:800::7000
Connecting to query1.finance.yahoo.com (query1.finance.yahoo.com)|87.248.118.22|
:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Unknown authentication scheme.

Username/Password Authentication Failed.
No URLs found in https://query1.finance.yahoo.com/v7/...oad/AAU?period
1=1530282224&period2=1561818224&interval=1d&events=history&crumb=lW3nnVK.6HD.

C:\Users\Администратор>c:\wget\wget.exe -i "https://query1.finance.yahoo.com/v7/
finance/download/AAU?period1=1530282224&period2=1561818224&interval=1d&events=hi
s tory&crumb=lW3nnVK.6HD" --ftp-user=xxx@yahoo.com --ftp-password=xxx
-n c -c -P c:\files\
--2019-06-30 12:28:53-- https://query1.finance.yahoo.com/v7/finance/download/AA
U?period1=1530282224&period2=1561818224&interval=1d&events=his%20tory&crumb=lW3n
nVK.6HD
Resolving query1.finance.yahoo.com (query1.finance.yahoo.com)... 87.248.118.22,
87.248.118.23, 2a00:1288:80:800::7000
Connecting to query1.finance.yahoo.com (query1.finance.yahoo.com)|87.248.118.22|
:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized

Username/Password Authentication Failed.
No URLs found in https://query1.finance.yahoo.com/v7/...oad/AAU?period
1=1530282224&period2=1561818224&interval=1d&events=his tory&crumb=lW3nnVK.6HD.

C:\Users\Администратор>c:\wget\wget.exe -i "https://query1.finance.yahoo.com/v7/
finance/download/AAU?period1=1530282224&period2=1561818224&interval=1d&events=hi
story&crumb=lW3nnVK.6HD" --user=xxx@yahoo.com --password=xxx -nc -c -
P c:\files\
--2019-06-30 12:29:35-- https://query1.finance.yahoo.com/v7/finance/download/AA
U?period1=1530282224&period2=1561818224&interval=1d&events=history&crumb=lW3nnVK
.6HD
Resolving query1.finance.yahoo.com (query1.finance.yahoo.com)... 87.248.118.22,
87.248.118.23, 2a00:1288:80:800::7000
Connecting to query1.finance.yahoo.com (query1.finance.yahoo.com)|87.248.118.22|
:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Unknown authentication scheme.

Username/Password Authentication Failed.
No URLs found in https://query1.finance.yahoo.com/v7/...oad/AAU?period
1=1530282224&period2=1561818224&interval=1d&events=history&crumb=lW3nnVK.6HD.

C:\Users\Администратор>


Sham 30-06-2019 14:20 2877479

ему кукис нужен от страницы с html-таблицей. https://blogs.sas.com/content/sgf/20...download-data/

v79italya 30-06-2019 16:03 2877499

Sham, по совету из сообщения №6 у меня не получилось получить Cookie.
по ссылке есть код. еще и не известно рабочий или нет, но как этот код проверить? возможно ли переделать под Excel или VBS или под SHell или VGet?
Скрытый текст
/* use WORK location to store our temp files */
filename out "%sysfunc(getoption(WORK))/output.txt";
filename hdrout "%sysfunc(getoption(WORK))/response1.txt";

/* This PROC step caches the cookie for the website finance.yahoo.com */
/* and captures the web page for parsing later */
proc http
out=out
headerout=hdrout
url="https://finance.yahoo.com/quote/AAPL/history?p=AAPL"
method="get";
run;

/* Read the response and capture the cookie value from */
/* the CrumbStore field. */
/* The file has very long lines, longer than SAS can */
/* store in a single variable. So we read in <32k chunks. */
data crumb (keep=crumb);
infile out recfm=n lrecl=32767;
/* the @@ directive says DON'T advance pointer to next line */
input txt: $32767. @@;
pos = find(txt,"CrumbStore");
if (pos>0) then
do;
crumb = dequote(scan(substr(txt,pos),3,':{}'));
/* cookie value can have unicode characters, so must URLENCODE */
call symputx('getCrumb',urlencode(trim(crumb)));
output;
end;
run;

%put &=getCrumb.;

filename data "%sysfunc(getoption(WORK))/data.csv";
filename hdrout2 "%sysfunc(getoption(WORK))/response2.txt";

proc http
out=data
headerout=hdrout2
url="https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1535835578%str(&)period2=1538427578%str(&)interval=1d%str(&)events=history%str(&)crumb= &getCrumb."
method="get";
run;

proc import
file=data
out=history
dbms=csv
replace;
run;

proc sgplot data=history;
highlow x=date high=high low=low / open=open close=close;
xaxis display=(nolabel) minor;
yaxis display=(nolabel);
run;

Sham 30-06-2019 22:43 2877573

параметр crump в url парсится из страницы с таблицей. ..."CrumbStore":{"crumb":"VtJMp2OUzaw"}... (будет ...&crumb=VtJMp2OUzaw)...

Sham 01-07-2019 03:00 2877589

попробуйте этот js-скрипт, вроде качает.

Скрытый текст
Код:

var dir = 'c:\\files';
var urls = 'c:\\url-list.txt';
var pause = 300; //ms

var u1 = 'https://query1.finance.yahoo.com/v1/test/getcrumb';

var r = get(u1)[1];
if (!r) WScript.Quit(1);
r = '&crumb=' + r;

/*
var u1 = 'https://finance.yahoo.com/quote/AAPL/history';
var r = /"CrumbStore":{"crumb":"([^"]+)/g.exec(get(u1)[1]);
if (!r) WScript.Quit(1);
r = '&crumb=' + r[1];
*/

var fso = new ActiveXObject('Scripting.FileSystemObject');
var fr = fso.OpenTextFile(urls, 1);
if (!fr) WScript.Quit(2);

while (!fr.AtEndOfStream) {
        var l = fr.ReadLine();
        if (!l) continue;
        l = l.replace(/&crumb=[^&]*/, r);
        WScript.Sleep(pause);
        var o = get(l);
        if (!o[0] || !o[1]) continue;
        var f = fso.OpenTextFile(dir + '\\' + o[0], 2, true, -2);
        f.Write(o[1]);
        f.Close();
}

fr.Close();

function get(url) {
        var h = new ActiveXObject('Microsoft.XMLHTTP');
        if (typeof h !== 'object' || !/^https?:/i.test(url)) return ['', ''];
        h.open('GET', url, false);
        h.setRequestHeader('User-Agent', 'Firefox/666.6');
        h.setRequestHeader('Accept', '*/*');
        try {
                h.send();
        } catch(e) {
                WScript.Echo(e);
        }
        var f = /^attachment; filename=(.+)$/g
                .exec(h.getResponseHeader('Content-Disposition'));
        if (f) f = f[1];
        return [f, h.responseText];
}


v79italya 01-07-2019 09:56 2877604

Sham, спасибо за ответ, только как этим кодом пользоваться. объясните как дураку подробно.
нагуглил про Ctrl+Shift+J. вставил код - вышел такой ответ. в какой программе этот код использовать?
в принципе, вчера я установил Python 3.7, но как пользоваться - не знаю.

Sham 01-07-2019 14:09 2877637

это же WSH
Код:

CScript c:\script.js //Nologo //E:JScript

v79italya 01-07-2019 15:11 2877657

Цитата:

Цитата Sham
это же WSH »

что это? ни одно так другое
ладно, не будем мучить ни я вас ни вы меня. пусть проблема остается проблемой. полгода уже пытаюсь решить эту проблему. отложу опять в сторону
всем спасибо кто пытался
тему можно закрывать

Iska 01-07-2019 17:11 2877669

Цитата:

Цитата v79italya
что это? »

Скопировать вышеприведённый код, сохранить его в файл с расширением .js.

Nordek 01-07-2019 19:08 2877692

Цитата:

Цитата v79italya
по совету из сообщения №6 у меня не получилось получить Cookie. »

Там не было описано как получить cookies. Только загрузка в wget, а не скачивание с помощью wget.

Google Chrome
Устанавливаете расширение: cookies.txt

Щелкаете по значку.
Выделяете строку вида:
Код:

.yahoo.com        TRUE        /        FALSE        1234567890        B        abcdef1ghi2j3&b=1&s=kl
У вас значения 1234567890 и abcdef1ghi2j3&b=1&s=kl будут другими, по этому отсюда не копируйте, копируйте у себя. Эти значения я придумал.

Создаёте текстовый файл с названием cookies и расширением txt
Вносите в cookies.txt скопированные данные вида:
Код:

.yahoo.com        TRUE        /        FALSE        1234567890        B        abcdef1ghi2j3&b=1&s=kl

P.S Cookies можете сразу сохранить в файл нажав click here.
В таком случае вам придётся открыть cookies.txt и подправить данные т.к сохраняются они криво.
Вы увидите следующее abcdef1ghi2j3&amp;b=1&amp;s=kl
Вам нужно будет удалить amp;, т.е:
Было: abcdef1ghi2j3&amp;b=1&amp;s=kl
Стало: abcdef1ghi2j3&b=1&s=kl
Firefox
Устанавливаете расширение: cookies.txt
Нажимаете на значок для сохранения файла.
Сохраняете.
В случае с Firefox - Не нужно что-то подправлять.


Отсюда копируете ссылку Download Data

Скачиваете wget'ом, например:
Код:

"C:\WGET\wget.exe" --load-cookies="C:\WGET\cookies.txt" "https://query1.finance.yahoo.com/v7/finance/download/AAU?period1=1234567890&period2=1234567890&interval=1d&events=history&crumb=AB12CdeFGHI"
Ссылку копируете у себя, а не отсюда. Данные в ссылке также придумал.
Пути к wget.exe и cookies.txt подставляете свои.

Sham 02-07-2019 00:13 2877737

Nordek, только лишь с кукисами - не работает. Требуется уникальный crumb в урле (он связан с кукисами).

v79italya, он уже установлен в системе (cscript.exe в системной папке). "c:\script.js" - это файл с этим кодом.

v79italya 02-07-2019 05:53 2877745

Sham, спасибо за скрипт. работает замечательно, даже через чур быстро. надеюсь яхоо не забанит) может в коде можно прописать задержку в треть секунды. еще вопрос: в скрипте нет никаких подводных камней, будет скачивать в любом случае?

Nordek, ваш вариант еще не пробовал. позже попробую. спасибо вам.

Iska, спасибо. хорошо что сказали как сделать скрипт. сделал через Notepad++. по двойному клику не сработал, а через ПКМ - открыть с помощью первой же предложенной программой сработало.

у меня был вариант полусырой через макрос. сделал браузер по умолчанию гугл хром и через него скачивал. минус что перед применением макроса надо вручную менять папку для закачек браузера., а потом обратно. приложу файл Excel, только надо авторизоваться на Yahoo.
спасибо всем что довели дело до конца и проблему решили

Sham 02-07-2019 16:22 2877808

v79italya, мы меняем в урлах параметр crumb, который берём из страницы с таблицей (u1) с помощью регулярного выражения. Они могут изменить текст, имя параметра, способ проверок и тд., и тогда придётся корректировать. По крайней мере с ноября 2018 ничего не менялось, судя по дате блога. Это не публичный API yahoo, где есть какие-то гарантии. Если у них есть API для загрузки этих котировок, то безусловно нужно использовать его.

UPD: нашёл спец. адрес для получения crumb здесь (_https://query1.finance.yahoo.com/v1/test/getcrumb). Обновил пост со скриптом.

v79italya 07-07-2019 08:18 2878533

Sham, спасибо за второй вариант скрипта. увидел где можно менять паузу между обращениями на сайт. еще, по моему, есть изменения в строках, относящихся к crumb, но я не разбираюсь в этом и ладно.
на счет crumb я сильно не переживаю. как перестанет работать, возьму с сайта рабочую ссылку и в Excel по быстрому изменю концовку всех ссылок. так и делал для макроса. не будет работать, тогда, чтож, подыму тему), там видно будет. мне это надо то один раз в месяц для аналитики. а так все работает. спасибо большое
Nordek, извиняюсь, только ваш вариант так и не запустил. да и ладно. уже есть решение от Sham

слушайте, а возможно с помощью таких скриптов скачать таблицу с сайта в csv-файл. вот ссылка- https://finance.yahoo.com/quote/AAL/...ate=1565913600
там нет готового csv. поэтому и хотел узнать
ссылка сохранилась не полностью
https://finance.yahoo.com/quote/AAL/...ate=1568937600

Sham 08-07-2019 03:29 2878709

Цитата:

Цитата v79italya
а возможно с помощью таких скриптов скачать таблицу с сайта в csv-файл »

Там json надо разбирать из страницы. Можно, но ненадёжно. Ищите API этих таблиц.

v79italya 08-07-2019 05:23 2878715

Цитата:

Цитата Sham
json надо разбирать из страницы »

вот это я не фига не понял
Цитата:

Цитата Sham
Ищите API этих таблиц »

тоже не понял, но готов искать. как искать? дать объявление на авито - ищу API таких таблиц ?)
еще вопрос. как на этом форуме правильнее, открыть новую тему или можно продолжить в этой?

v79italya 13-07-2019 20:37 2879667

Sham, скажите, вы сможете это сделать? я про это:
слушайте, а возможно с помощью таких скриптов скачать таблицу с сайта в csv-файл. вот ссылка- https://finance.yahoo.com/quote/AAL/...ate=1565913600
там нет готового csv. поэтому и хотел узнать

Sham 14-07-2019 02:05 2879703

v79italya, можно, но изначально это json (в таком виде (взят только нужный массив) https://pastebin.com/G6v74TYW ), который нужно перелопатить в csv. Это спарсено со страницы, поэтому в любой момент может всё поменяться.

v79italya 14-07-2019 13:17 2879737

Цитата:

Цитата Sham
можно »

хорошо что можно. я так понял что Вы это сможете сделать. запишу Ваши контакты из профиля. приспичит - обращусь.
сейчас у меня есть вариант получения этих данных. макросами и формулами в Excel за 30 минут получаю нужные данные с >11500 тикеров. когда сломается, если не смогу исправить, обращусь к Вам. c .csv обработаю в Power Query. по времени, наверное, быстрее получится.
приносило бы еще все это прибыль, а то гоняю демосчет уже больше года.

sov44 30-12-2019 18:36 2902919

Помогите с скриптом для скачивания файла по ссылке https://kjkpub.s3.amazonaws.com/soft...e-11842-64.exe

iglezz 30-12-2019 19:03 2902921

sov44, А в чём проблема?
Скрытый текст
Код:

C:\tmp>wget "https://kjkpub.s3.amazonaws.com/software/sumatrapdf/prerel/SumatraPDF-prerelease-11842-64.exe"
--2019-12-30 19:01:18--  https://kjkpub.s3.amazonaws.com/software/sumatrapdf/prerel/SumatraPDF-prerelease-11842-64.exe
Resolving kjkpub.s3.amazonaws.com (kjkpub.s3.amazonaws.com)... 52.216.141.164
Connecting to kjkpub.s3.amazonaws.com (kjkpub.s3.amazonaws.com)|52.216.141.164|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15253672 (15M) [application/x-msdownload]
Saving to: 'SumatraPDF-prerelease-11842-64.exe'

SumatraPDF-prerelease-11842-6  12%[=====>                                            ]  1,78M  298KB/s    eta 48s    ^C
C:\tmp>wget --version
GNU Wget 1.20.3 built on mingw32.

...


sov44 30-12-2019 19:21 2902924

iglezz, хм, сработало. Видимо был какой-то глюк ПК. :dont-know
Код:

bin\wget.exe --no-check-certificate -P "%~dp0TempZ" "https://kjkpub.s3.amazonaws.com/software/sumatrapdf/prerel/SumatraPDF-prerelease-11842-64.exe"

NLOLegion 03-01-2020 16:02 2903381

а как скачать все фото с любой группы в вк? например со стены. Wget -ом? Возможно?

DJ Mogarych 03-01-2020 16:18 2903387

Есть более удобные инструменты для этого, типа VK Paranoid tools.

NLOLegion 03-01-2020 16:27 2903389

DJ Mogarych, нужно чтобы батник сам скачивал фото для (например) обой на комп и/или на цифровую фоторамку и т. п. важно средствами cmd/bat это сделать


Время: 09:33.

Время: 09:33.
© OSzone.net 2001-