Tag:

使用Ruby Mechanize来擦除所有连续页面

我正在寻找帮助,以最好的方式循环网站上的连续页面,同时从每个页面抓取相关数据。 例如,我想去一个特定的网站(以下例子中的craigslist),从第一页抓取数据,转到下一页,抓取所有相关数据等,直到最后一页。 在我的脚本中,我使用了一个while循环,因为它似乎对我来说最有意义。 但是,它似乎没有正常工作,只是从第一页抓取数据。 熟悉Ruby / Mechanize的人可以指出我正确的方向,完成这项任务的最佳方法是什么。 我花了无数个小时试图解决这个问题,觉得我错过了一些非常基本的东西。 在此先感谢您的帮助。 require ‘mechanize’ require ‘pry’ # initialze agent = Mechanize.new { |agent| agent.user_agent_alias = ‘Mac Safari’} url = “http://charlotte.craigslist.org/search/rea” page = agent.get(url) # Create an empty array to dump contents into property_results = [] # Scrape all successive pages from craigslist while page.link_with(:dom_class => “button next”) != […]

使用Ruby with Mechanize登录网站

我需要从网站上抓取数据,但首先需要登录。 我一直在使用hpricot成功地抓住其他网站,但我是新手使用机械化,我真的很困惑如何工作。 我看到这个例子通常被引用: require ‘rubygems’ require ‘mechanize’ a = Mechanize.new a.get(‘http://rubyforge.org/’) do |page| # Click the login link login_page = a.click(page.link_with(:text => /Log In/)) # Submit the login form my_page = login_page.form_with(:action => ‘/account/login.php’) do |f| f.form_loginname = ARGV[0] f.form_pw = ARGV[1] end.click_button my_page.links.each do |link| text = link.text.strip next unless text.length > 0 puts […]