ruby - 使用 Mechanize 抓取/提取数据

标签 ruby mechanize

这个问题在这里已经有了答案:





extract single string from HTML using Ruby/Mechanize (and Nokogiri)

(2 个回答)


7年前关闭。




使用 Mechanize,我想在这个网站上抓取信息 => http://www.africanbookscollective.com

这是我想收集的信息:

  • 小说类别下列出的所有书籍

  • 在这个类别下,我想要:
  • 作者姓名
  • 书名
  • isbn号码
  • 出版商
  • 国家

  • 我发现这个 url =>
    http://www.africanbookscollective.com/browse/african-literature/fiction
    给我我想要的信息。

    这是我当前的代码:
    require 'awesome_print'
    require 'rubygems'
    require 'mechanize'
    
    agent = Mechanize.new
    page = agent.get('http://www.africanbookscollective.com/browse/african-literature/fiction')
    a = page.links.each do |link|
      puts link.text
    end
    
    ap a
    

    这是我第一次使用 Mechanize ,因此我不确定它与 Nokogiri 有何不同。我在这种特殊情况下使用它的主要原因是因为我需要提取 38 页的信息( 标记为 Fiction 的书籍的完整列表)。

    问题:
  • 我从 mechanize 得到了一个非常长的输出,其中包括我不需要的链接。
  • 我需要的信息不在 div 类中 - 它在 dl 类中,我尝试在谷歌上搜索如何选择 dl 类,但到目前为止还没有任何运气。
  • 每次我执行正则表达式操作以删除我不使用的链接时,我都会返回一个空数组

  • 任何人都可以帮助我想出一种新的方法来解决这个问题吗?我真的很感激反馈。

    PS:这是一张可能会散发出更多光芒的图像

    enter image description here

    最佳答案

    您可以使用 scrape4me.com 获取原始输出以在您的项目中进行进一步处理( Mechanize ) 不知道 Mechanize ,但也许这会有所帮助,祝您好运

    关于ruby - 使用 Mechanize 抓取/提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20872392/

    相关文章:

    ruby-on-rails - Windows XP 上的 Ruby on Rails 控制台中的 CTRL+C 不会停止 mongrel

    ruby-on-rails - 如何在 Ruby on Rails 中获取人类可读的类名?

    python - Mechanize 浏览器没有属性

    python - 从 html 文本中提取标签信息

    ruby - 如何使用 Mechanize 计算某个页面上的图像数量?

    ruby - 如何用 ruby​​ 获取包含汉字的整个字符串?

    ruby-on-rails - 基于客户端的网站的最佳数据库策略(Ruby on Rails)

    ruby - 匹配字符串中连续字符的序列

    perl - 即使使用 utf8 编码也能打印宽字符

    ruby Mechanize 404 => 网络::HTTPNotFound