Webサイトでテキストを検索するシェルスクリプト
ウェブサイトの特定の部分を抽出して端末に表示する方法はありますか?いろいろな部分があります。このウェブサイトユーザーがVPN(VPNBook)にアクセスできるように、ユーザー名とパスワードを表示します。しかし、彼らはパスワードを変更したので、Webサイトにアクセスするシェルスクリプトを作成し、ユーザー名とパスワードフィールドを抽出して表示できるかどうか疑問に思いました。
これで、ユーザー名とパスワードフィールドは次のようになります。
Username: vpnbook
Password: he2qv5h
誰かが私にこのプロジェクトを始める正しい方向を教えてくれたらいいでしょう。
答え1
これは私にとって効果的です。
#!/usr/bin/env bash
url='https://www.vpnbook.com/freevpn'
html=$( curl -# -L "${url}" 2> '/dev/null' )
username=$(
<<< "${html}" \
grep -P -o -e '(?<=<li>Username: <strong>)(.*?)(?=<\/strong><\/li>)' |
head -n 1
)
password=$(
<<< "${html}" \
grep -P -o -e '(?<=<li>Password: <strong>)(.*?)(?=<\/strong><\/li>)' |
head -n 1
)
printf '%s\n' "Username: ${username}" "Password: ${password}"