ruby 快速刮刀获取维基百科的第一段以获取主题列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 快速刮刀获取维基百科的第一段以获取主题列表相关的知识,希望对你有一定的参考价值。
require 'open-uri'
require 'nokogiri'
require 'csv'
require 'cgi'
# BASE_URL = 'http://en.wikipedia.org/w/api.php?format=json&action=query&prop=revisions&rvprop=content&titles='
BASE_URL = 'http://en.wikipedia.org/wiki/'
while($input_filename.nil?)
puts "Enter input filename (should be a CSV)"
$input_filename = gets.chomp!
end
while($filename.nil?)
puts "Enter a filename (output will be stored as a CSV)"
$filename = gets.chomp!
end
output = File.new("#{$filename}.csv", "a+")
CSV.foreach($input_filename) do |row|
puts "processing #{row[0]}"
puts url = BASE_URL + row[0].gsub(' ', '_')
begin
doc = Nokogiri::HTML(open(url))
description = doc.css('#mw-content-text').css('p')[0].content.split('.')[0,2].join('. ')
output.puts(CSV.generate_line([row[0], description]))
rescue
puts "something went wrong! skipping"
puts $!.message
end
end
以上是关于ruby 快速刮刀获取维基百科的第一段以获取主题列表的主要内容,如果未能解决你的问题,请参考以下文章
如何从维基百科中获取所有标题的JSON [关闭]
如何使用Wikipedia的API获取Wikipedia内容?
获取维基百科定义的PHP bot
PHP PHP bot获取维基百科的定义
wikipedia 维基百科 语料 获取 与 提取 处理 by python3.5
python 脚本我曾经重命名所有F.R.I.E.N.D.S.通过从维基百科中获取名称来获取epsiodes