Хорошо, я нашел ответ давно, я в основном использовал REST для отправки сообщения из одного приложения в другое, я отправил его как хеш. И очевидное, я использовал nokogiri для разбора таблицы.
def post_me
@page_hash = page_to_hash
res = Net::HTTP.post_form(URI.parse('http://127.0.0.1:3007/element_data/save.json'),@page_hash)
end
Для отправки хэша из одного приложения в другое, используя net / http.
def page_to_hash
require 'rubygems'
require 'nokogiri'
require 'open-uri'
require 'domainatrix'
#page = self.page.sub(/^<!DOCTYPE html(.*)$/, '<!DOCTYPE html>')
hash={}
doc = Nokogiri::HTML(self.page)
doc.search('*').each do |n|
puts n.name
end
Использование Nokogiri для анализа таблицы страниц в моей модели. таблица страниц имела все тело веб-страницы.
file_type = []
file_type_data=doc.xpath('//a/@href[contains(. , ".pdf") or contains(. , ".doc")
or contains(. , ".xls") or contains(. , ".cvs") or contains(. , ".txt")]')
file_type_data.each do |href|
if href[1] == "/"
href = "http://" + website_url + href
end
file_type << href
end
file_type_str = file_type.join(",")
hash ={:head => head,:title => title, :body => self.body,
:image => images_str, :file_type => file_type_str, :paragraph => para_str, :description => descr_str,:keyword => key_str,
:page_url=> self.url, :website_id=>self.parent_request_id, :website_url => website_url,
:depth => self.depth, :int_links => @int_links_arr, :ext_links => @ext_links_arr
}
Простой пример разбора и как я сформировал мой хэш.