我想将 URL 保存on_pages_like
为某个匹配项。Anemone 正在做它的事情,并且正在创建存储 URL 的记录,但是:
- 我想使用类似的东西
find_or_create_by_url
而不是create!
,所以我不是每次都复制记录。 我想保存网址。目前 URL 正在被保存到数据库中,例如:
--- !ruby/object:URI::HTTP 方案:http 用户:密码:主机:www.a4apps.com 端口:80 路径:/Websites/SampleCalendar/tabid/89/Default.aspx 查询:不透明:注册表:片段: 解析器:
我想要它像:
http://www.a4apps.com//Websites/SampleCalendar/tabid/89/Default.aspx
我保存到 Postgres 表的原因是我想要另一个任务稍后使用每条记录的 URL 修改该表,而且,我对此有点陌生,并且对添加第二个数据库的想法有点不知所措建议在海葵网站上。
在过去的几天里,我尝试调整基本代码,但还没有找到解决方案。
这是我的耙子任务:
namespace :db do
desc "Fetch a4apps urls"
task :fetch_a4apps => :environment do
require 'anemone'
Anemone.crawl("http://www.a4apps.com/") do |anemone|
anemone.on_pages_like(/\/SampleCalendar\/[^?]*$/) do |page|
Calendarparts.create!(:url => page.url)
end
end
end
end
我的观点只是将数据输出到网页上:
<% @calendar.each do |part| %>
<tr valign="top">...
<td><%= part.url %> </td>...
</tr>
<% end %>
我的控制器:
class CalendarController < ApplicationController
def cainventory
@calendar = Calendarparts.all
end
end