App Store에서 반영된 버전 텍스트를 얻는 쉘 라이너

3943 단어 ShellScriptiOS애플

만든 원라이너 (대상 : GoogleMap)


wget -O - -q https://apps.apple.com/jp/app/id585027354 | grep -oP "<p.*?whats\-new__latest__version.*?>.*?</p>" | grep -oP ">.*?<" | grep -oP "[^><]+"

소개



여러분은 AppStore에서 앱의 공개 반영 완료를 어떻게 확인하나요?
평상시의 공개에서는 1, 2시간 정도로 공개 반영 완료합니다만, 때때로 그 시간에서는 끝나지 않는 것이 있습니다. 특히 최근에는 2개월에 1번 정도 어딘가의 앱으로 메인터넌스 연장을 하고 있는 것 같습니다.
공식 도움말에서는 AppStore에서 공개 요청을 한 후 반영 완료까지 최대 24시간이 걸리기 때문에 어쩔 수 없는 것입니다만, 스토어에의 반영을 유저와 같은 web 페이지에 대해서 감시하고 싶은 것입니다.
AppStoreConnect 도움말

shell 원라이너는, 우선 취득해 보려면 간단하기 때문에 기사에 남겨 둡니다.

환경



우분투 18.04.1
GNU Wget 1.19.4
grep (GNU grep) 3.1

만드는 법



샘플로 GoogleMap 앱에 대한 버전 텍스트를 가져옵니다.

HTML 요소 검증



Chrome 요소 유효성 검사 기능을 사용하여 HTML 태그의 형식을 확인합니다.
GoogleMap




whats-new__latest__version 라는 이름의 버전 텍스트가 HTML에 정의되어 있음을 알 수 있습니다. 페이지 소스를 취득해, 이것을 바탕으로 텍스트를 잘라내면 필요한 텍스트를 취득할 수 있을 것 같습니다.

grep으로 스크래핑



HTML 태그를 추출하여 텍스트를 형성합니다.
단계를 통해 출력을 늘어놓기 때문에, 어느 정규 표현으로 어떤 추출하고 있는지 봐 주시면과.
$ wget -O - -q https://apps.apple.com/jp/app/id585027354 | grep -oP "<p.*?whats\-new__latest__version.*?>.*?</p>"
<p class="l-column small-6 medium-12 whats-new__latest__version">バージョン 5.19</p>
$ wget -O - -q https://apps.apple.com/jp/app/id585027354 | grep -oP "<p.*?whats\-new__latest__version.*?>.*?</p>" | grep -oP ">.*?<"
>バージョン 5.19<
$ wget -O - -q https://apps.apple.com/jp/app/id585027354 | grep -oP "<p.*?whats\-new__latest__version.*?>.*?</p>" | grep -oP ">.*?<" | grep -oP "[^><]+"
バージョン 5.19

이 출력을 텍스트 파일에 보존해, 정기 실행의 전회 실행과 차이가 있으면 통지하는 등 crontab로 하는 등으로 정기 감시 기구로서 움직이는 것이 가능합니다.

끝에



어디까지나 웹 페이지의 스크래핑을 하고 있을 뿐이므로, 페이지의 사양 변경이 들어간 경우에는 곧바로 버릇이 되어 버리는 것입니다만, 간편하게 할 수 있는 shell 원라이너를 작성해 보았습니다.
간편하게 스토어 감시하고 싶은 분은 사용하십시오.

Q&A



wget 옵션 무엇?


-O - 그리고 취득한 데이터를 표준 출력에 내고 있습니다. | 에서 grep 원라이너를 하기 위해서입니다.-q 그리고 wget을 사용했을 때 나오는 진척 등의 도중 출력을 억제하고 있습니다.

왜 curl이 아니라 wget인가?



요전날까지는 curl을 사용하고 있었습니다만 6/12경의 리스폰스로부터 curl이라면 내용이 비워져 버렸습니다.
원래는 curl -sS https://apps.apple.com/jp/app/id585027354 略 이었지만요.

좋은 웹페이지 즐겨찾기