Rails,从动态URL抓取

时间:2014-06-27 14:24:30

标签: ruby-on-rails web-scraping

最基本的我想要抓一个网站并像所有H1或其他东西一样呈现部分代码。我过去使用了Nokogiri和Mechanize,熟悉刮擦的基础知识。在过去,我会构建一个Thor任务,就像这样

class Scrape < Thor
desc "cl_redding","Scrape Craigslist for Rentals"
def cl_redding

    require File.expand_path('config/environment.rb')

    require 'rubygems'

    require 'nokogiri'

    require 'open-uri'

    require 'mechanize'

    require 'yaml'

    require 'aws-sdk'

    require 'csv'

    require 'json'

    agent = Mechanize.new

    page = agent.get('http://redding.craigslist.org/search/apa?zoomToPosting=&catAbb=apa&query=&minAsk=&maxAsk=&bedrooms=&housing_type=&hasPic=1&excats=')

一切都很酷而且有效,虽然它只是刮擦了craigslist而且因为我专门通过页面调用=,我要问的是,有没有人对如何从网站上的输入框刮取一个网站有任何建议?欢迎提供具体的帮助,教程,建议或资源。

1 个答案:

答案 0 :(得分:1)

我认为你的问题有点过于笼统。

  • 您需要启动rails应用
  • 构建一个表单以接受要删除的url的输入 - 可能实现一个将存储页面的页面模型用于抓取
  • 在您的示例
  • 中按照您的方式解析网址
  • 可能使用像sidekiq这样的后端处理工具来避免在前端刮擦
  • 存储结果并将其显示在Page#show