【问题标题】:bash curl | grep a specific website contentbash 卷曲 | grep 特定网站内容
【发布时间】:2021-04-29 12:35:18
【问题描述】:

我正在尝试从网站中提取特定信息,但该内容似乎包含在类定义中:

<div class= "some_div_class">
  <strong content="999" itemprop="price" class="strong_class">
      999
  </strong>
</div>

我的目标是“999”,如果我这样做,我可以:

curl -s url |grep -zPo '<strong content="999" itemprop="price" class="strong_class">\s*\K.*?(?=\s*</strong>)'

如果“999”在内容中,并且它发生了变化,grep 将变得无效。通配符不会返回任何内容

【问题讨论】:

标签: html web curl web-scraping grep


【解决方案1】:

在您尝试使用 RegEx 解析网站之前,请(!)查看以下网址:

使用像 这样的 HTML/XML 解析器,它就像这样简单:

xidel -s "<url or file>" -e '//div[@class="some_div_class"]/strong/@content'

xidel -s "<url or file>" -e '//div[@class="some_div_class"]/normalize-space(strong)'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-07
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 2013-07-05
    • 2019-05-22
    • 2017-04-14
    • 1970-01-01
    相关资源
    最近更新 更多