Changeset 9009

Show
Ignore:
Timestamp:
04/06/08 18:30:31 (5 years ago)
Author:
yimajo
Message:

lang/ruby/twitter_bot/47news:[add]行末の全角スペース消した。タブをスペースに。エラーチェックつけたり

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/twitter_bot/47news/headline.rb

    r8419 r9009  
    2828 
    2929scraper = Scraper.define { 
    30         process 'table:only-child > tr > td > a:only-child', "a[href]", "urls[]"=>"@href","titles[]"=>:text 
    31         result :urls,:titles 
     30    process 'div.frameline > div.topContent > ul > li > a', "a[href]", "urls[]"=>"@href","titles[]"=>:text 
     31    result :urls,:titles 
    3232} 
    33 html = NKF::nkf('-w -m0', open('http://www.47news.jp/list_localnews_'+location+'001.html').read) 
     33 
     34html = NKF::nkf('-w -m0', open('http://www.47news.jp/localnews/'+location+'/archives.php').read) 
    3435 
    3536news =  scraper.scrape(html, :parser => :html_parser) 
    3637 
    37 #RSS read 
    38 local_rss = rss_path + location + '.xml' #RSS 
    39 p local_rss.to_s 
    40 local_rss = open(local_rss){ |file| RSS::Parser.parse(file.read) } 
     38#comp 
    4139 
    42 #comp 
    43 for i in 0 .. news.titles.size - 1 
    44         if news.titles[i] != '' 
    45                 title = '' 
    46                 sflg = false 
    47                 local_rss.items.each { |item| 
    48                         title = news.titles[i].slice(0 , news.titles[i].size - 4) 
    49                         if title == item.title 
    50                                 #同じのがある 
    51                                 sflg = true; 
    52                         end 
    53                 } 
    54                 #同じのがなければそれを送信 
    55                 unless sflg 
    56                         p title  + news.urls[i] 
    57                         twit = Twitter::Base.new(mail,user) 
    58                         twit.update(Kconv.kconv(title.to_s + news.urls[i], Kconv::UTF8)) 
    59                 end 
    60         end 
     40if news.titles && news.urls 
     41    #RSS read 
     42    local_rss = rss_path + location + '.xml' #RSS 
     43     
     44    local_rss = open(local_rss){ |file| RSS::Parser.parse(file.read) } 
     45     
     46    if news.titles.size > 0 
     47        for i in 0 .. news.titles.size - 1 
     48            if news.titles[i] != '' 
     49                title = '' 
     50                sflg = false 
     51                if local_rss 
     52                    local_rss.items.each { |item| 
     53                        title = news.titles[i].gsub(/[ ]$/,""); 
     54                        if title == item.title 
     55                            #同じのがある 
     56                            sflg = true; 
     57                        end 
     58                    } 
     59                end 
     60                #同じのがなければそれを送信 
     61                unless sflg 
     62                    twit = Twitter::Base.new(mail,user) 
     63                    p title.to_s 
     64                    twit.update(Kconv.kconv(title.to_s + news.urls[i], Kconv::UTF8)) 
     65                end 
     66            end 
     67        end 
     68    end 
     69else 
     70    p '404 Not Found' 
    6171end 
    6272 
     
    6979    maker.channel.link = "http://www.47news.jp/" 
    7080 
    71         for i in 0 .. news.titles.size - 1 
    72                 if news.titles[i] != '' 
    73                         item = maker.items.new_item 
    74                         item.link = news.urls[i] 
    75                         item.title = news.titles[i].slice(0 , news.titles[i].size - 4) 
    76                 end 
    77         end 
     81    if news.titles && news.urls 
     82        for i in 0 .. news.titles.size - 1 
     83            if news.titles[i] != '' 
     84                item = maker.items.new_item 
     85                item.link = news.urls[i] 
     86                item.title = news.titles[i].gsub(/[ ]$/,"") 
     87            end 
     88        end 
     89    end 
    7890end 
    7991 
    8092fname = DIR_ROOT + "rss/" + location + ".xml" 
    81 p fname 
     93 
    8294File.open(fname, "w") {|file| 
    8395    file.puts(rss.to_s.toutf8)