【问题标题】:Feedjira: Can you parse multiple URLs?Feedjira:你能解析多个 URL 吗?
【发布时间】:2018-05-14 04:09:27
【问题描述】:

编辑** 来自this postJon 提到他希望在 2.0 中摆脱并发,而是在应用程序中传递单个 url 并处理并发,工人是可能的方法。

我正在尝试使用 FeedJira 解析多个 URL(使用 farday gem),但收到参数错误。过去有没有人成功解析过一个以上的 URL? FeedJira::Feed 的 The source 声明它将返回单个提要 URL 或提要 URL 数组。

.fetch_and_parse(urls, options = {}) ⇒ Object

脚本

feed_urls = ["https://jobs.startupnorth.ca/jobs.rss", "https://jobs.startupnorth.ca/jobs.rss"]
feed = Feedjira::Feed.fetch_and_parse(feed_urls)

错误

ArgumentError: bad argument (expected URI object or URI string)
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/faraday-0.15.0/lib/faraday/utils.rb:277:in `URI'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/faraday-0.15.0/lib/faraday/connection.rb:315:in `url_prefix='
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/faraday-0.15.0/lib/faraday/connection.rb:80:in `initialize'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/faraday-0.15.0/lib/faraday.rb:70:in `new'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/faraday-0.15.0/lib/faraday.rb:70:in `new'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/feedjira-2.1.4/lib/feedjira/feed.rb:82:in `connection'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/feedjira-2.1.4/lib/feedjira/feed.rb:68:in `fetch_and_parse'
    from (irb):144
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/commands/console.rb:65:in `start'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/commands/console_helper.rb:9:in `start'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/commands/commands_tasks.rb:78:in `console'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/commands.rb:18:in `<top (required)>'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:293:in `require'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:293:in `block in require'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:293:in `require'
    from /Users/taylorcooney/code/startupjobstoronto/bin/rails:9:in `<top (required)>'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:287:in `load'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:287:in `block in load'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.0.7/lib/active_support/dependencies.rb:287:in `load'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/taylorcooney/.rbenv/versions/2.4.3/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'

【问题讨论】:

  • 以上两个网址中的一个网址对你有用吗?
  • @TimmyVonHeiss 是的,我可以使用单个 URL 解析各种提要
  • @JagdeepSingh 我很欣赏您的回复,但是这不是我的问题
  • 只是在检查这是否是一个选项。 :)

标签: ruby-on-rails ruby parsing xml-parsing feedjira


【解决方案1】:

此方法在 2.0.0 版中已更改。确保您使用的是版本

【讨论】:

  • 啊,非常感谢@panic...如果围绕此问题进行任何讨论,我将尝试查看 github 问题。如果您熟悉,请随时在下面链接,我会将其标记为答案。
  • 来自this post Jon 提到他希望在 2.0 中摆脱并发,而是在应用程序中传递单个 url 并处理并发,工人是可能的方法。
猜你喜欢
  • 2021-01-28
  • 1970-01-01
  • 1970-01-01
  • 2011-04-28
  • 2017-12-23
  • 2021-04-22
  • 2022-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多