Механизировать, чтобы очистить, используя 2 поиска? - PullRequest
0 голосов
/ 21 ноября 2011

Я очищаю блог с помощью Mechanize, пытаясь получить результаты ниже. В основном возникают проблемы с превращением моих мыслей в логику кода. Я предполагаю, что мне нужно объединить предложения поиска и перебрать HTML и распечатать, как он находит совпадения. Новичок в использовании Rails и любые советы будут полезны.

Желаемые результаты:

  • first_title
    • first_image_url
    • second_image_url
  • second_title
    • first_image_url
    • second_image_url

Код:

require 'rubygems'
require 'mechanize'

url = 'http://blog.something.com/'
mech = Mechanize.new
page = mech.get(url)

page.search('h2').each do |h2|
    puts h2.inner_text
end

imgs = page.search('img[src]').map{|src| src['src']}
puts imgs

Код справа конечно дает:

  • first_title
  • second_title
  • third_title
  • ...
  • first_image_url
  • second_image_url
  • first_image_url
  • ...

1 Ответ

1 голос
/ 21 ноября 2011

при условии, что изображения происходят от h2, который вы можете сделать:

page.search('h2').each do |h2|
  puts h2.inner_text
  h2.css('img').each do |img|
    puts img['src']
  end
end
...