1
*編輯: 根據我下面的評論,我想一個更好的問題是,'正確的方法是通過每個URL進行機械化並更新其名稱列? (每個名字對於url都是唯一的)'下面是我一直在做的練習。 *rails機械化運行postgres表中的每個url
我有一個postgres表,像... |名稱(字符串)|網址(文字)|
URL欄已填充了不同的URL,並出現類似這樣的: http://www.a4apps.com/Websites/SampleCalendar/tabid/89/ctl/Register/Default.aspx
我試圖運行,將通過每一個URL基於它找到的文本運行和更新名稱的機械化rake任務在一個CSS標籤。
namespace :db do
desc "Fetch css from db urls"
task :fetch_css => :environment do
require 'rubygems'
require 'mechanize'
require 'open-uri'
agent = Mechanize.new
url = Mytable.pluck(:url)
agent.get(url)
agent.page.search('#dnn_ctr444_ContentPane').each do |item|
name = item.css('.EventNextPrev:nth-child(1) a').text
Mytable.update(:name => name)
end
end
end
當我運行它返回的耙子任務:
rake aborted!
bad URI(is not URI?): %255B%2522http://www.a4apps.com/Websites/SampleCalendar/tabid/89/Default.aspx%2522,%2520%2522http://www.a4apps.com/Websites/SampleCalendar/tabid/89/ctl/Privacy/Default.aspx%2522,%2520%2522http://www.a4apps.com/Websites/SampleCalendar/tabid/89/ctl/Terms/Default.aspx%2522,%2520%2522http://www.a4apps.com/Websites/SampleCalendar/tabid/89/ctl/Register/Default.aspx%2522%255D
感謝您的幫助。如果有任何方法可以讓問題更容易回答,請讓我知道。 Mike
經過這一段時間後,我想也許我做的耙完全錯了。 –