我需要shell scirpt从站点获取VPN的公共密码(每天或多或少刷新密码)。密码是HTML表格,位于网页HTML代码的特定行中。一旦我检索到密码(一个由5个字符组成的单词),我就想把它放在一个简单的文本文件的末尾。我需要这样的脚本来自动更新基于OpenWrt的路由器的OpenVPN客户端中的密码。
This是我正在谈论的网页,这是第265行,其中密码是(密码有两个,并不是脚本选择的一个问题) :
<td>1<td>in1.vpnjantit.com<td>53,992,1194,25000<td><a href='http://www.vpnjantit.com/assets/in1.vpnjantit.com.zip'>in1.vpnjantit.com.zip</a><td>vpnjantit.com<td>x3bu7<td>2018-03-31 at 22:00<tr><tr><td>2<td>in2.vpnjantit.com<td>53,443,1194,25000<td><a href='http://www.vpnjantit.com/assets/in2.vpnjantit.com.zip'>in2.vpnjantit.com.zip</a><td>vpnjantit.com<td>x3bu7<td>2018-03-31 at 22:00<tr></table></div>
我想要输入密码的文件非常简单:
vpnjantit.com
passwd
第一行是用户名,它始终是相同的:&#34; vpnjantit.com&#34;。第二行是5个字符的密码。我需要脚本首先删除文件的第二行,然后将html文件中的密码放在第二行(用新密码替换旧密码)。
我环顾四周,尝试用 awk , curl , cat 和其他命令的顺序做一些事情,但我不是&# 39;能够得到理想的结果。真的不知道如何实现这一点。
提前感谢您的任何建议!
答案 0 :(得分:0)
我已使用nokogiri
,但还有其他工具。
echo vpnjantit.com > file.txt # first line
curl http://www.vpnjantit.com/free-openvpn-india.html | nokogiri -e 'puts $_.at_css("table > tr > td:nth-child(6)").text >> file.txt # second line
这将直接替换文件(删除它并创建一个新文件)。
请注意,即使是较小的格式更改,这也可能随时中断。