ruby 从Niconama评论查看器中提取评论

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 从Niconama评论查看器中提取评论相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
# extract comments from Niconama Comment Viewer
require "xmlsimple" # gem install xml-simple
require "nkf"
opt = "-w -h -Z1"
require "pp"

file = ARGV.shift

hash = XmlSimple.xml_in(File.new(file))
hash["LiveCommentDataArray"][0]["chat"].each{|chat|
  comment = NKF.nkf(opt, chat["content"])
  comment.gsub!(/\/telop show0/, "")
  comment.gsub!(/\/hb ifseetno \d+/, "")
  
  # remove tags
  comment.gsub!(/<a href=([^>]*)>/, "")
  comment.gsub!(/<\/a>/, "")
  comment.gsub!(/<u>/, "")
  comment.gsub!(/<\/u>/, "")
  
  # character entity references
  comment.gsub!(/&lt;/, "<")
  comment.gsub!(/&gt;/, ">")
  comment.gsub!(/&apos;/, "'")
  
  comment.gsub!(/\/perm .*$/, "")
  comment.gsub!(/\/telop on .*$/, "")
  comment.gsub!(/\/telop on .*$/, "")
  comment.gsub!(/\/telop off/, "")
  comment.gsub!(/\/cls/, "")
  comment.gsub!(/\/vote start .*$/, "")
  comment.gsub!(/\/vote showresult per .*$/, "")
  comment.gsub!(/\/vote stop/, "")
  
  comment.gsub!(/\/play .*/, "")
  comment.gsub!(/\/telop show 実況に接続しました/, "")
  comment.gsub!(/\/disconnect/, "")
  
  date = Time.at(chat["date"].to_i) 
  print date.to_s << ":" << comment << "\n"
}

以上是关于ruby 从Niconama评论查看器中提取评论的主要内容,如果未能解决你的问题,请参考以下文章

Ruby - 如何在解析的json中访问键值

BeautifulSoup 从评论 html 中提取文本 [重复]

从两个唯一标签或评论之间的文件中提取内容并将其放入具有相同标签或评论的其他文件中?

即使未达到评论数量,如何告诉 Python 继续提取?

如何获取用户在 SQL 或 Ruby 中评论的页面上的最新评论?

DriveApp |获取文件的查看者和评论者