「C# によるプログラミング入門」の pdf化
C# によるプログラミング入門 | ++C++; // 未確認飛行 C
このサイトを Ruby でスクレイピングして pdf化します。
Rubyコード。
require 'mechanize' require 'uri' Dir.chdir('pdf') agent = Mechanize.new agent.user_agent_alias = 'Linux Firefox' url = 'http://ufcpp.net/study/csharp/' counter = 1 agent.get(url).css('ul.category-list a').each do |node| next if (u = node.attribute('href').value) == "#" u = URI(url).merge(u).to_s title = ("%03d" % counter) + '.pdf' `wkhtmltopdf #{u} #{title}` puts u counter += 1 sleep(2) end `pdftk *.pdf cat output csharp.pdf`
「wkhtmltopdf」と「pdftk」が必要です。apt-get で入ると思います。
「一週間で身につくC#言語の基本」もついでに
ここも pdf化。
一週間で身につくC#言語の基本|トップページ~C#言語の初心者でも、簡単にプログラミングが気軽に学習できるサイトです。
require 'mechanize' require 'uri' Dir.chdir('pdf') agent = Mechanize.new agent.user_agent_alias = 'Linux Firefox' url = 'http://csharp.sevendays-study.com/' counter = 1 ar = ["http://sevendays-study.com/computer-literacy/", "http://c-lang.sevendays-study.com/", "http://cpp-lang.sevendays-study.com/", "http://java.sevendays-study.com/", "http://sevendays-study.com/algorithm/", "appendix2.html", "link.html"] agent.get(url).css('div#main th a').each do |node| u = node.attribute('href').value next if ar.include?(u) u = URI(url).merge(u).to_s title = ("%03d" % counter) + '.pdf' `wkhtmltopdf #{u} #{title}` puts u counter += 1 sleep(2) end `pdftk *.pdf cat output csharp1.pdf`