ruby – 机械化如何获取当前网址
发布时间:2020-12-16 20:24:15 所属栏目:百科 来源:网络整理
导读:我有这个代码 require 'mechanize'@agent = Mechanize.newpage = @agent.get('http://something.com/?page=1')next_page = page.link_with(:href=/^?page=2/).click 正如你可以看到这个代码应该去下一页. next_page应该有url http://something.com/?page=2
我有这个代码
require 'mechanize' @agent = Mechanize.new page = @agent.get('http://something.com/?page=1') next_page = page.link_with(:href=>/^?page=2/).click 正如你可以看到这个代码应该去下一页. next_page应该有url http://something.com/?page=2 如何获取next_page的当前网址? 解决方法next_page.uri.to_s 应该是你要找的 你可以在http://mechanize.rubyforge.org/Mechanize/Page/Link.html找到这个 为了测试目的,我在irb中进行了以下操作: require 'mechanize' @agent = Mechanize.new page = @agent.get('http://news.ycombinator.com/news') => #<Mechanize::Page {url #<URI::HTTP:0x00000001ad3198 URL:http://news.ycombinator.com/news>} {meta_refresh} {title "Hacker News"} {iframes} {frames} {links #<Mechanize::Page::Link "" "http://ycombinator.com"> #<Mechanize::Page::Link "Hacker News" "news"> #<Mechanize::Page::Link "new" "newest"> #<Mechanize::Page::Link "comments" "newcomments"> #<Mechanize::Page::Link "ask" "ask"> #<Mechanize::Page::Link "jobs" "jobs"> #<Mechanize::Page::Link "submit" "submit"> #<Mechanize::Page::Link "login" "newslogin?whence=%6e%65%77%73"> #<Mechanize::Page::Link "" "vote?for=3803568&dir=up&whence=%6e%65%77%73"> #<Mechanize::Page::Link "Don’t Be Evil: How Google Screwed a Startup" "http://blog.hatchlings.com/post/20171171127/dont-be-evil-how-google-screwed-a-startup"> #<Mechanize::Page::Link "mikeknoop" "user?id=mikeknoop"> #<Mechanize::Page::Link "64 comments" "item?id=3803568"> #<Mechanize::Page::Link "" "vote?for=3802515&dir=up&whence=%6e%65%77%73"> # Omitted for brevity... next_page.uri => #<URI::HTTP:0x00000001fa7818 URL:http://news.ycombinator.com/news2> next_page.uri.to_s => "http://news.ycombinator.com/news2" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |