#ruby-on-rails #web-scraping
#ruby-on-rails #веб-очистка
Вопрос:
По сути, я хочу очистить веб-сайт и отобразить части кода, такие как все 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=amp;catAbb=apaamp;query=amp;minAsk=amp;maxAsk=amp;bedrooms=amp;housing_type=amp;hasPic=1amp;excats=')
Все круто, и это работает, хотя это только очищает craigslist, и поскольку я специально вызывал через page = , я спрашиваю, есть ли у кого-нибудь какие-либо советы о том, как я мог бы очистить сайт, вызываемый из поля ввода на веб-сайте? приветствуется конкретная помощь, учебные пособия, советы или ресурсы.
Ответ №1:
Я думаю, что ваш вопрос слишком общий.
- Вам нужно запустить приложение rails
- Создайте форму для приема ввода URL-адреса для очистки — возможно, реализуйте модель страницы, которая будет хранить страницы для очистки
- Проанализируйте URL-адрес так, как вы это делаете в своем примере
- Возможно, используйте внутренний инструмент обработки, такой как sidekiq, чтобы избежать очистки на переднем конце
- Сохраните результаты и отобразите их на странице #показать