【问题标题】:nokogiri : finding a node in html document by their stylingnokogiri : 通过样式在 html 文档中查找节点
【发布时间】:2022-08-27 08:14:38
【问题描述】:

我目前正在使用 ruby​​ on rails 进行网络抓取项目,下面是我正在处理的网页链接。

https://www.livelaw.in/top-stories/supreme-court-civil-suit-maintainable-jurisdiction-scope-sau-rajani-vs-sau-smita-2022-livelaw-sc-702-207475?infinitescroll=1

我已经从这个页面获取了所有 (.story p ) 并且特别想删除最后一个具有 background-color:rgb(255,255,0) Here's the thing I want to remove 的标签

我想使用它具有的自定义样式来选择标签。 picture for clarity

我已经尝试了一切,但无法做到。我还有其他方法可以选择所需的文本并将其从文档中删除。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 web-scraping nokogiri


    【解决方案1】:

    这是通常的属性,您可以通过此类选择器获取元素

    element = doc.at("b[style='background-color:rgb(255,255,0)']")
    

    并删除它

    element.remove
    

    【讨论】:

      【解决方案2】:

      这看起来可行……试试看

      url = "https://www.livelaw.in/top-stories/supreme-court-civil-suit-maintainable-jurisdiction-scope-sau-rajani-vs-sau-smita-2022-liv"
      elaw-sc-702-207475?infinitescroll=1")
      
      file = Nokogiri::HTML.parse(URI.open(url))
      
      element = file.xpath("//b[contains(@style,'background-color: rgb(255, 255, 0)')]")
      

      【讨论】:

      • 不知道为什么我尝试了这个,但它返回给我一个空数组。但我找到了如何做到这一点非常感谢:)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多