Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Парс ссылки для загрузки файла

Ответить
Настройки темы
PowerShell - [решено] Парс ссылки для загрузки файла

Аватара для a1ek9

Пользователь


Сообщения: 71
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: a1ek9
Дата: 26-08-2024
Добрый день! Не подскажите, почему парсит ссылку с портабл версией а не с инсталером?
Код: Выделить весь код
@echo off
@for /f "tokens=* usebackq" %%f in (`powershell -command "(wget "https://librewolf.net/installation/windows/").links | ? 'class' -eq 'jsx-3135004230 button text-gray focus:ring primary  ' | select -exp href"`) do @set var=%%f
echo %var%
pause
Пробовал по разному, захват происходит либо второй ссылки, либо вовсе четвёртую(
Вот эту нужно поймать:
Код: Выделить весь код
href="https://gitlab.com/api/v4/projects/44042130/packages/generic/librewolf/129.0.2-1/librewolf-129.0.2-1-windows-x86_64-setup.exe"

Отправлено: 13:59, 26-08-2024

 

Аватара для NickM

Ветеран


Contributor


Сообщения: 4541
Благодарности: 1080

Профиль | Отправить PM | Цитировать


Попробуйте фильтровать ещё и по .exe, например:
Код: Выделить весь код
 ((iwr https://www.hibitsoft.ir/Uninstaller.html).Links | ? {$_.'class' -match 'btn btnGreen' -and $_.'title' -eq 'Download latest version' -and $_ -match '.exe\b'}).href
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:07, 01-11-2024 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для a1ek9

Пользователь


Сообщения: 71
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата NickM:
Попробуйте фильтровать ещё и по .exe, например »
Не подскажите еще на примере гитхаб, как с раздела релизы парсить самые новые версии? Ну то есть первый линк.
TDesktop-x64 К примеру этот файл 64Gram-setup-x64.1.1.45.exe (тот что нужен мне)
ну и 64Gram_1.1.45_mac.dmg просто для примера (либо любой другой на ваше усмотрение) По .exe отлавливать я думаю не вариант, на некоторых страничках и тьма тьмущая, только если имя файла до версии программы.. но у меня не получилось, ребята что делились своими решениями, на этом и других форумах не помогает. Со вчера с вечера пытаюсь что-то придумать)

Последний раз редактировалось a1ek9, 02-11-2024 в 14:07.


Отправлено: 13:56, 02-11-2024 | #12


Аватара для NickM

Ветеран


Contributor


Сообщения: 4541
Благодарности: 1080

Профиль | Отправить PM | Цитировать


Цитата a1ek9:
но у меня не получилось, ребята что делились своими решениями, на этом и других форумах не помогает. Со вчера с вечера пытаюсь что-то придумать) »
А, что предлагали?

Может, что-нибудь типа такого подойдёт?
Код: Выделить весь код
$assets = (iwr https://api.github.com/repos/TDesktop-x64/tdesktop/releases| ConvertFrom-Json).assets | Where-Object name -like "*.exe"; $downloadurl = $assets.browser_download_url; $downloadurl[0]
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:04, 02-11-2024 | #13


Аватара для a1ek9

Пользователь


Сообщения: 71
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата NickM:
Может, что-нибудь типа такого подойдёт? »
Первый раз такое вижу)) благодарю вас! Это универсальное прям решение

Отправлено: 20:40, 02-11-2024 | #14


Аватара для a1ek9

Пользователь


Сообщения: 71
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата NickM:
Может, что-нибудь типа такого подойдёт? »
Можно еще разочек вас попросить помочь) Если появляются пред-релиз версии он соответственно парсит их. Нельзя например отправить гет запрос на
Код: Выделить весь код
https://github.com/TDesktop-x64/tdesktop/releases/latest
и спарсить ссылку с заголовков? вроде в параметре location должна быть ссылка-переадресации? а потом уже спарсить ссылку на сам файл? Если через powershell нельзя то для меня вариант wget скачать и положить рядом с скриптом.
Цитата NickM:
Может, что-нибудь типа такого подойдёт? »
ну а после обработать уже вашим кодом?

Последний раз редактировалось a1ek9, 04-11-2024 в 13:07.


Отправлено: 12:57, 04-11-2024 | #15


Аватара для NickM

Ветеран


Contributor


Сообщения: 4541
Благодарности: 1080

Профиль | Отправить PM | Цитировать


Цитата a1ek9:
Если появляются пред-релиз версии он соответственно парсит их. »
Ну так, фильтруйте по releases, в чём проблема?

Вы можете привести ссылку на пред-релиз?
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:16, 04-11-2024 | #16


Аватара для a1ek9

Пользователь


Сообщения: 71
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата NickM:
Вы можете привести ссылку на пред-релиз? »
НУ вот например
Код: Выделить весь код
https://github.com/tnodir/fort/releases
Отфильтровать я не знаю как. Слово тест стоит в середине файла, не туда не сюда(

Последний раз редактировалось a1ek9, 04-11-2024 в 13:27.


Отправлено: 13:21, 04-11-2024 | #17


Аватара для NickM

Ветеран


Contributor


Сообщения: 4541
Благодарности: 1080

Профиль | Отправить PM | Цитировать


Цитата a1ek9:
видимо проблемы все таки есть с провайдером. С третьего раза переадресировал! ... У меня с ме*афона раздача, домашнего интернета нету. А мег*фон банит даже выпрямленные ссылки на майл-облако, почему? я не знаю.. »
Не улавливаю связь между сценарием, получением ссылки, пред-релизом и загрузкой.

Отправлено: 13:23, 04-11-2024 | #18


Аватара для NickM

Ветеран


Contributor


Сообщения: 4541
Благодарности: 1080

Профиль | Отправить PM | Цитировать


Цитата a1ek9:
Отфильтровать я не знаю как. Слово тест стоит в середине файла, не туда не сюда( »
Например:
Код: Выделить весь код
$assets = (iwr https://api.github.com/repos/tnodir/fort/releases| ConvertFrom-Json).assets| Where-Object {$_.name -like "*.exe" -and $_.name -notlike "*test*"}; $downloadurls = $assets.browser_download_url; $downloadurls[0]
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:53, 04-11-2024 | #19


Аватара для a1ek9

Пользователь


Сообщения: 71
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата NickM:
Например: »
Благодарю вас за подсказку.
Цитата NickM:
$assets = (iwr https://api.github.com/repos/tnodir/fort/releases| ConvertFrom-Json).assets| Where-Object {$_.name -like "*.exe" -and $_.name -notlike "*test*"}; $downloadurls = $assets.browser_download_url; $downloadurls[0] »
Этот код не отработал. Немного переписал ваш первый вариант
Код: Выделить весь код
(iwr https://api.github.com/repos/tnodir/fort/releases| ConvertFrom-Json).assets | Where-Object name -notlike "*test*" | Where-Object name -like "*x86_64.exe"; $downloadurl = $assets.browser_download_url; $downloadurl[0]
Цитата NickM:
-notlike »
Вот этот параметр искал по интернету, сайтов 20 облазил перечитал, не смог найти. Искал как в целом работать с фильтрами.

Отправлено: 15:02, 04-11-2024 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Парс ссылки для загрузки файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Скачивание файла\Парс строки из файла в переменную a1ek9 Скриптовые языки администрирования Windows 13 02-03-2024 11:38
Любой язык - [решено] RegExt для вытаскивания имени файла из ссылки Uragan66 Скриптовые языки администрирования Windows 6 23-06-2019 22:42
[решено] BSOD, изменение настроек Firefox, командная строка логов загрузки файла, вирус-ссылки JamesD Лечение систем от вредоносных программ 8 17-01-2018 09:23
Закачка файла, передача локальной ссылки в переменную andriy111 AutoIt 0 09-05-2013 22:06
как открыть окно для загрузки файла из JS? Vlad Drakula Вебмастеру 25 22-02-2007 13:04




 
Переход