我正在使用Nokogiri打开关于各个国家/地区的维基百科页面,然后从interwiki链接(外国语言wikipedias链接)中提取其他语言的这些国家/地区的名称。但是,当我尝试打开the page for France时,Nokogiri不会下载整个页面。可能它太大了,无论如何它不包含我需要的跨wiki链接。我如何强制它下载所有?为什么Nokogiri不加载整个页面?
这里是我的代码:
url = "http://en.wikipedia.org/wiki/" + country_name
page = nil
begin
page = Nokogiri::HTML(open(url))
rescue OpenURI::HTTPError=>e
puts "No article found for " + country_name
end
language_part = page.css('div#p-lang')
测试:
with country_name = "France"
=> []
with country_name = "Thailand"
=> really long array that I don't want to quote here,
but containing all the right data
也许这个问题超出了引入nokogiri进入OpenURI - 反正我需要找到一个解决方案。
您是否知道open()不是Nokogiri? –