Rubyによるクローラー開発技法の本を進めてますが、Rubyでテストサーバーを立ち上げて、以下ファイルを実行しようとするとエラーで前に進めません。検索で調べてもマジックコメントをつけたら大丈夫という感じのものが多かったです。
Tarminal
lang
1sbcr2.rb:1: invalid multibyte char (UTF-8)
実行したファイルは以下です。
sbcr2.rb
lang
1# -*- coding: utf-8 -*- 2require 'cgi' 3 4def parse(page_source) 5 dates = page_source.scan(%r!(\d+)年 ?(\d+)月 ?(\d+)日<br />!) 6 url_titles = page_source.scan(%r!^<a href="(.+?)">(.+?)</a><br />!) 7 url_titles.zip(dates).map{|(aurl, atitle), 8 ymd|[CGI.unescapeHTML(aurl), 9 CGI.unescapeHTML(atitle), Time.local(*ymd)] 10 } 11end 12 13def format_text(title, url, url_title_time_ary) 14 s = "Title: #{title}\nURL: #{url}\n\n" 15 url_title_time_ary.each do |aurl, atitle, atime| 16 s << "* (#{atime})#{atitle}\n" 17 s << " #{aurl}\n" 18 end 19 s 20end 21 22puts format_text("WWW.SBCR.JP トピックス", 23 "http://crawler.sbcr.jp/samplepage.html", 24 parse(`/usr/bin/wget -q -Ohttp://crawler.sbcr.jp/samplepage.html`))

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/05 02:14