使用bash在网页中搜索

使用bash在网页中搜索,bash,full-text-search,substring,xpath,Bash,Full Text Search,Substring,Xpath,我试图检索一个网页,搜索它的一些模式,检索该值,并用它做一些计算。我的问题是,我似乎不知道如何在给定的字符串中搜索模式 假设我检索到这样一个页面 content=$(curl -L http://google.com) 现在我想搜索一个我感兴趣的值,它基本上是一个html标记 <div class="digits">123,456,789</div> 123456789 不,我确实试着用sed找到这个。我的尝试是这样的: n=$(echo "$content"|se

我试图检索一个网页,搜索它的一些模式,检索该值,并用它做一些计算。我的问题是,我似乎不知道如何在给定的字符串中搜索模式

假设我检索到这样一个页面

content=$(curl -L http://google.com)
现在我想搜索一个我感兴趣的值,它基本上是一个html标记

<div class="digits">123,456,789</div>
123456789
不,我确实试着用sed找到这个。我的尝试是这样的:

n=$(echo "$content"|sed '<div class=\"digits\">(\\d\\d,\\d\\d\\d,\\d\\d\\d)</div>')
curl -L url | perl -ne '/<div class="digits">([\d,]+)<.div>/ && {print $1, "\n"}'
n=$(回显“$content”| sed'(\\d\\d,\\d\\d\\d,\\d\\d\\d))
我想每10分钟提取一次该值,保存它并估计何时会达到124,xxx,xxx


我的问题是我真的不知道如何保存这些值,但我想我可以自己解决。我更感兴趣的是如何检索该子字符串,因为我总是会遇到错误,因为“最好使用适当的解析器:

但您在注释中给出的示例url似乎不包含此类名。您可以先运行以下命令来证明:

curl -Ls url | grep -oP '<div\s+class="digits">\K[^<]+'

curl-Ls url | grep-oP'\K[^最好使用@sputnick建议的适当解析器

或者您可以尝试以下方法:

n=$(echo "$content"|sed '<div class=\"digits\">(\\d\\d,\\d\\d\\d,\\d\\d\\d)</div>')
curl -L url | perl -ne '/<div class="digits">([\d,]+)<.div>/ && {print $1, "\n"}'
curl-L url | perl-ne'/([\d,]+)/&&&{print$1,“\n”}”

你的意思是
grep
而不是
sed
?通常我不会用bash来做这样的东西,但我愿意学习。我发现的示例使用了sed,但它似乎对我不起作用:(你愿意解决这个问题吗?=D或者我可以用grep替换sed吗?让我无法加载外部实体,我知道提供的地址有效。有什么建议吗?嗯,那么它不会返回任何内容。基本上我试图从robertspaceindustries.com检索该类,以估计下一个资金目标何时达到:P And我知道div有上面写的模式,没有
class=”数字"
来自
curl-Ls robertspaceindustries.com
或来自
firefox
::当然永远不会匹配!有,但我认为值来自javascript,因此我必须等待页面运行javascripts,然后将其拉入。在使用google chrome加载页面时,验证它是否存在。310645是我要从页面中检索的内容