gpt4 book ai didi

ruby-on-rails - rails mechanize 遍历 postgres 表中的每个 url

转载 作者:行者123 更新时间:2023-11-29 13:35:32 25 4
gpt4 key购买 nike

*编辑:根据我在下面的评论,我想一个更好的问题是,'让 mechanize 遍历每个 url 并更新其名称列的正确方法是什么? (每个名称对于 url 都是唯一的)' 下面是我一直在练习的基础。 *


我有一个 postgres 表,就像...|名称(字符串)|网址(文本)|

url 列已经填充了各种 url,如下所示: http://www.a4apps.com/Websites/SampleCalendar/tabid/89/ctl/Register/Default.aspx

我正在尝试运行一个 Mechanize rake 任务,该任务将遍历每个 url 并根据它在 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 任务时,它返回:

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

感谢您的帮助。如果有任何方法可以使问题更容易回答,请告诉我。迈克

最佳答案

我最近在回答自己的问题时感到有点孤独,但如果其他人发现自己处于同样的困境,我会发布我的答案。此外,也许其他人会告诉我我的解决方案是否存在我尚未发现的任何致命缺陷。这是我最后的 rake ,它似乎在工作,从我的表中获取 url,在它们上运行 mechanize 并使用在 url 中找到的信息更新表...

namespace :db do
desc "Fetch css from db urls"
task :fetch_css => :environment do

Mytable.all.each do |info| # for each row do...
require 'rubygems'
require 'mechanize'
require 'open-uri'
agent = Mechanize.new
agent.get(info.url) # get the url column data for the current db row...
nombre = agent.page.search('.EventNextPrev:nth-child(1) a').text # plug it into mech.
info.update_attributes(:name => nombre) # and update the db with the css result.
end

end
end

谢谢。迈克

关于ruby-on-rails - rails mechanize 遍历 postgres 表中的每个 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13254667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com