ルビーを使って小説を捕まえる

1194 ワード

久しぶりにルビーコードを书いて、手が少し生で、今年はもっと练习するつもりです.
MMは小説を読むのが好きで、ネット上で連載されている次のページの点も不便で、コードで小説を全部捕まえることを考えました.html分析ツールはhpricotを使用します.
  

require 'rubygems'
require 'hpricot'
require 'open-uri'
require 'fileutils'

def wri
   url = "http://www.yqxs.com/data/book2/ZfUAt35561/book35561_"
   (1..22).each do |page|
     sub_url = url+page.to_s+".html"
     get_novel(sub_url)
   end
end

def get_novel(target_url)
	puts target_url
	doc = Hpricot(open(target_url))
	ele = doc.search("div[@id=content]")
	write_file(ele.inner_html,"test")
end

def write_file(file_content,title)
  path = "E:\\"
  file_name = path+title+".html"
  file = File.open(file_name,"a")
  file.puts file_content
  file.close
end

wri

   

Hpricotは使いやすいので、cssのclassによって探してもいいし、idによって探してもいいです.

  ele = doc.search("div[@id=content]")

IDがcontentのdivであることを発見します
そうしましょう.簡単に記録します.