【问题标题】:Loading a webpage for parsing in Rails在 Rails 中加载用于解析的网页
【发布时间】:2010-11-30 23:42:36
【问题描述】:

假设,我想从 Web 获取一个页面到我的应用程序并对其进行某种解析。我怎么做?我应该从哪里开始?应该需要一些插件/宝石吗?您解决此类任务的通常做法是什么?

【问题讨论】:

    标签: ruby-on-rails parsing html-parsing


    【解决方案1】:

    您应该尝试像 Hpricot (wiki) 或 Nokogiri 这样的宝石。

    Hpricot 示例:

    require 'open-uri'
    require 'rubygems'
    require 'hpricot'
    
    html = Hpricot(open(an_url).read)
    # This would search for any images inside a paragraph (XPath)
    html.search('/html/body//p//img')
    # This would search for any images with the class "test" (CSS selector)
    html.search('img.test')
    

    Nokogiri 示例:

    require 'open-uri'
    require 'rubygems'
    require 'hpricot'
    
    html = Nokogiri::HTML(open(an_url).read)
    # This would search for any images inside a paragraph (XPath)
    html.xpath('/html/body//p//img')
    # This would search for any images with the class "test" (CSS selector)
    html.css('img.test')
    

    Nokogiri 通常更快。这两个库都具有很多功能。

    【讨论】:

      【解决方案2】:

      你想做的事情叫做“Scraping”

      Ryan Bates 就该主题制作了两个出色的截屏视频:

      我个人更喜欢 Nokogiri。您还可以查看以下答案:Best Rails HTML Parser

      【讨论】:

        猜你喜欢
        • 2021-11-18
        • 2023-03-18
        • 2017-10-12
        • 1970-01-01
        • 1970-01-01
        • 2020-05-27
        • 2016-09-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多