Попытка извлечь номер версии из строки в документе HTML с помощью Unix на Mac - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь извлечь номер текущей стабильной версии Chrome с веб-сайта Google https://cloud.google.com/chrome-enterprise/browser/download/, чтобы добавить в скрипт, который будет проверять текущую стабильную сборку и обновлять, если она не совпадает.Я действительно упал на первое препятствие здесь.

Я запускаю скрипт, используя #! / Bin / sh на Mac.Команда, которую я использую:

currentVersion="$(curl https://cloud.google.com/chrome-enterprise/browser/download/ | grep "Chrome DMG for OS X")" 

Это изолирует строку, где информация отображается в инструментах разработчика на Chrome:

<p class="cloud-browser__title-bold">
    Chrome DMG for OS X
    <br>
    <span class="cloud-browser-downloads__dl-row-version">
        v 70.0.3538.110
    </span>
</p>

Но когда я вытягиваю ее, единственнаябит, который я хочу 'v 70.0.3538.110' не показывает.Использование grep для любой строки версии ничего не дает.Я просто не понимаю, что происходит.Я думаю, что, возможно, он извлекает номер из другого места и заполняет страницу, но я не вижу никаких доказательств этого (в представлении доступности в инструментах Chrome Dev это отображается как текст).

ПЛЕХ !!!Заранее спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

Решение:

Существует опция, позволяющая свернуть страницу журнала изменений веб-браузера Google Chorme, которая это , если вы хотите стабильные обновления и этот , если вам нужны все версии, даже dev.Команда:

curl https://chromereleases.googleblog.com/search/label/Stable%20updates | grep "Mac" | tr -d "<>-:;/,&\"=#[a-z][A-Z]" | head -1 | sed -e "s/666666//g;s/ . //g;s/ //g"

Вывод:

70.0.3538.110

Без пробела и строка готова к использованию

Ошибка Google: она использует статическую технологию дляобновите веб-страницы

Если вы хотите получить версию с cloud.google.com/chrome-enterprise/browser/download/, вы просто окажетесь без результата.

Альтернатива, которая работает как сейчас

Попробуйте использовать curl на другом сайте, обходя это, Google использует статический инструмент для изменения номера версии на веб-странице.что-то вроде этого должно работать, если WhatIsMyBrowser не закрывает сам сайт

https://www.whatismybrowser.com/guides/the-latest-version/chrome | grep -A 1 "MacOS" | tr -d "<[a-z][A-Z]>/" 

Чтобы узнать, какая версия установлена,

Если вы хотите извлечь версию, установленную на данный моментпросто введите
google-chrome --version
, и если вы хотите просто извлечь версию для вычисления с помощью bash, вам нужно набрать
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version | grep -iE "[0-9.]{10,20}"
, проигрывая немного с регулярным выражением.
Это работает с терминала.
Существует также версия графического интерфейса непосредственно из Chrome, просто перейдите по ссылке chrome://version или about:, которая предоставит вам сайт со всей информацией о Chrome

...