A: 

Basically yes, if site owner allowed you to do that.

but looks like the data are in javascript like

...
arrallvalues[18].addValuesbyfisId('0.842');
arrallvalues[19].addYearsbyfisId('2005年');
arrallvalues[19].addYearsbyfisId('2006年');
arrallvalues[19].addYearsbyfisId('2007年');
arrallvalues[19].addYearsbyfisId('2008年');
arrallvalues[19].addYearsbyfisId('2009年');
arrallvalues[19].addValuesbyfisId('21992392061.30');
arrallvalues[19].addValuesbyfisId('49919840381.13');
arrallvalues[19].addValuesbyfisId('100094467908.29');
arrallvalues[19].addValuesbyfisId('119236579721.09');
arrallvalues[19].addValuesbyfisId('137608554829.39');
arrallvalues[20].addYearsbyfisId('2005年');
arrallvalues[20].addYearsbyfisId('2006年');
arrallvalues[20].addYearsbyfisId('2007年');
arrallvalues[20].addYearsbyfisId('2008年');
...

So, I doubt, you will end up in writing analyzer your self.

S.Mark
A: 

Even if the question deserves negative votes, I think there is no need to write an analyzer yourself because there is JavaScript. I have coded scrappers myself where data is in Javascript. Ruby has libraries to evaluate js (spidermonkey, johnson). Something like this, however this would crash the js interpreter, did not investigate why, but I would guess the chinesse language

require 'rubygems'
require 'nokogiri'
require 'johnson'
require 'open-uri'

base_url = 'http://xbrl.cninfo.com.cn/XBRL'
page_url = base_url + '/allinfo.jsp?stkid=000002&getyear=2005&nowpage=Info.jsp&reportType=GB0110'

doc = Nokogiri::HTML(open(page_url))

doc.xpath("html/head/script").each do |el|
  src = el.attributes['src']
  if not src.text.empty?
    # load remote js
    Johnson.evaluate(open(base_url + '/' + src).read)
  else
    Johnson.evaluate(el.text)
  end
end

puts Johnson.evaluate("arrallvalues[0]")
duncan
A: 

pt@pt-laptop:~$ sudo gem install johnson [sudo] password for pt: Building native extensions. This could take a while... ERROR: Error installing johnson: ERROR: Failed to build gem native extension.

/usr/local/ruby/bin/ruby extconf.rb checking for jsautocfg.h in /usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/vendor/spidermonkey/Linux_All_DBG.OBJ... yes checking for jsapi.h in /usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/vendor/spidermonkey... yes creating Makefile

make gcc -I. -I/usr/local/ruby/include/ruby-1.9.1/i686-linux -I/usr/local/ruby/include/ruby-1.9.1/ruby/backward -I/usr/local/ruby/include/ruby-1.9.1 -I. -I/usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64 -fPIC -O2 -g -Wall -Wno-parentheses -g -Wall -Wextra -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DXP_UNIX -o spidermonkey.o -c spidermonkey.c gcc -I. -I/usr/local/ruby/include/ruby-1.9.1/i686-linux -I/usr/local/ruby/include/ruby-1.9.1/ruby/backward -I/usr/local/ruby/include/ruby-1.9.1 -I. -I/usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64 -fPIC -O2 -g -Wall -Wno-parentheses -g -Wall -Wextra -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DXP_UNIX -o global.o -c global.c gcc -I. -I/usr/local/ruby/include/ruby-1.9.1/i686-linux -I/usr/local/ruby/include/ruby-1.9.1/ruby/backward -I/usr/local/ruby/include/ruby-1.9.1 -I. -I/usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64 -fPIC -O2 -g -Wall -Wno-parentheses -g -Wall -Wextra -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DXP_UNIX -o conversions.o -c conversions.c In file included from conversions.c:2: js_land_proxy.h:11:18: error: node.h: No such file or directory In file included from conversions.c:2: js_land_proxy.h:17: error: expected specifier-qualifier-list before ‘NODE’ conversions.c: In function ‘convert_symbol_to_js’: conversions.c:33: error: ‘ruby_errinfo’ undeclared (first use in this function) conversions.c:33: error: (Each undeclared identifier is reported only once conversions.c:33: error: for each function it appears in.) conversions.c:34: warning: initialization makes integer from pointer without a cast conversions.c:35: error: ‘struct RString’ has no member named ‘len’ conversions.c: In function ‘convert_regexp_to_js’: conversions.c:54: error: ‘ruby_errinfo’ undeclared (first use in this function) conversions.c:55: warning: initialization makes integer from pointer without a cast conversions.c:60: error: ‘struct RString’ has no member named ‘len’ conversions.c: In function ‘convert_to_js’: conversions.c:75: warning: format not a string literal and no format arguments conversions.c:79: warning: format not a string literal and no format arguments conversions.c:83: warning: format not a string literal and no format arguments conversions.c:86: error: ‘T_BLKTAG’ undeclared (first use in this function) conversions.c:87: warning: format not a string literal and no format arguments conversions.c:91: warning: format not a string literal and no format arguments conversions.c:95: warning: format not a string literal and no format arguments conversions.c:98: error: ‘T_VARMAP’ undeclared (first use in this function) conversions.c:99: warning: format not a string literal and no format arguments conversions.c:116: error: ‘ruby_errinfo’ undeclared (first use in this function) conversions.c:116: warning: initialization makes integer from pointer without a cast conversions.c:118: error: ‘struct RString’ has no member named ‘len’ conversions.c:171: warning: format not a string literal and no format arguments conversions.c: In function ‘convert_js_string_to_ruby’: conversions.c:192: warning: conversion to ‘long int’ from ‘size_t’ may change the sign of the result conversions.c: In function ‘convert_regexp_to_ruby’: conversions.c:204: error: ‘ruby_errinfo’ undeclared (first use in this function) conversions.c:204: warning: conversion to ‘VALUE’ from ‘JSBool’ may change the sign of the result conversions.c:204: warning: conversion to ‘VALUE’ from ‘JSBool’ may change the sign of the result conversions.c:204: warning: conversion to ‘VALUE’ from ‘JSBool’ may change the sign of the result conversions.c: In function ‘js_value_is_symbol’: conversions.c:228: warning: conversion to ‘long unsigned int’ from ‘jsval’ may change the sign of the result conversions.c:229: warning: format not a string literal and no format arguments conversions.c:233: warning: conversion to ‘long unsigned int’ from ‘jsval’ may change the sign of the result conversions.c:234: warning: format not a string literal and no format arguments conversions.c: In function ‘convert_to_ruby’: conversions.c:262: error: ‘ruby_errinfo’ undeclared (first use in this function) conversions.c:262: warning: conversion to ‘VALUE’ from ‘JSBool’ may change the sign of the result conversions.c:268: warning: conversion to ‘VALUE’ from ‘JSBool’ may change the sign of the result conversions.c:276: warning: conversion to ‘VALUE’ from ‘JSBool’ may change the sign of the result conversions.c:278: warning: conversion to ‘VALUE’ from ‘JSBool’ may change the sign of the result conversions.c:284: warning: conversion to ‘VALUE’ from ‘JSBool’ may change the sign of the result conversions.c:288: warning: conversion to ‘VALUE’ from ‘JSBool’ may change the sign of the result conversions.c:291: warning: format not a string literal and no format arguments conversions.c: In function ‘raise_js_error_in_ruby’: conversions.c:319: warning: format not a string literal and no format arguments conversions.c: In function ‘report_ruby_error_in_js’: conversions.c:333: error: ‘ruby_errinfo’ undeclared (first use in this function) make: * [conversions.o] Error 1

Gem files will remain installed in /usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0 for inspection. Results logged to /usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/ext/spidermonkey/gem_make.out pt@pt-laptop:~$ ruby /home/pt/test/exchange.rb /usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/lib/johnson.rb:1:in require': no such file to load -- generator (LoadError) from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/johnson-1.2.0/lib/johnson.rb:1:in' from /home/pt/test/exchange.rb:3:in require' from /home/pt/test/exchange.rb:3:in' what's the matter?

peng