Keep Learning

废话不多说,直接上代码

#encoding: utf-8
# 文件名 tuoshui.rb
# 将天涯易读的帖子中的内容抓出来并打印
# 使用方法:
# ruby tuoshui.rb [天涯易读帖子id] > result.txt
# 如果没有在运行脚本时指定帖子id的话,默认id为40489
require 'watir-webdriver'
 
def build_url(id)
  sprintf('http://www.tianyayidu.cc/article-a-%d-%%d.html', id)
end
 
id = 40489
id = ARGV.first.nil? ? id : ARGV.first.to_i
 
url = build_url(id)
puts url
 
def page(index, url)
	sprintf(url, index)
end 
 
b = Watir::Browser.new :chrome
b.goto page(1, url)
 
page_text = b.div(:class, 'pageNum1').text
m = page_text.match(/(\d+)/)
page = m ? m[1] : 10
page = page.to_i
 
(1..page).each do |p|
	b.goto page(p, url)
	b.lis(:class, 'at c h2').each {|li| puts li.text}
end 
 
b.quit

gist的地址,你可以留下意见和评论。

    Categories: