如何在ruby中使用Nokogiri来解析link包含#个字符

How to use Nokogiri in ruby to parse link contain # charater

我在ruby中使用Nokogiri来像这样解析link

link='http://vnreview.vn/danh-gia-di-dong#cur=2'

doc= Nokogiri::HTML(open(link,'User-Agent'=>'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31').read, nil, 'UTF-8')

但是 nokogiri return 文档是 link='http://vnreview.vn/danh-gia-di-dong' 的来源 我如何用 #cur=1, #cur=2...

解析 link

片段不会通过 http 请求发送到服务器,即如果您在浏览器中打开 http://www.example.com/#fragment,将发出以下请求:

GET / HTTP/1.1
Host: example.com

然后在收到响应后,浏览器将附加片段到URL并执行一些操作(例如,滚动到具有id="fragment"的元素,或执行javascript回调)

如果页面内容因片段而异,则通过 javascript 完成。 Nokogiri 无法 运行 javascript,因此您需要一些其他工具,例如 selenium-webdriver or capybara-webkit.

另一种选择是检查您尝试解析的页面上的 ajax 请求,您可能会发现 JSON 包含您需要的数据。然后直接下载这个json。内容可能已经在页面上,只是通过 css 隐藏(就像 Twitter bootstrap 中的标签)。