Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解析基于JavaScript的页面_Javascript_Ruby_Nokogiri - Fatal编程技术网

如何解析基于JavaScript的页面

如何解析基于JavaScript的页面,javascript,ruby,nokogiri,Javascript,Ruby,Nokogiri,我无法从使用JavaScript提供的页面获取HTML。我在Ruby中使用Nokogiri Ruby retrieves网站更像是一个警告/解释页面,上面说我的浏览器需要JavaScript <h1>JavaScript is required to view this site</h1> <p>Ontario.ca needs JavaScript to function properly and provide you with a fast, stabl

我无法从使用JavaScript提供的页面获取HTML。我在Ruby中使用Nokogiri

Ruby retrieves网站更像是一个警告/解释页面,上面说我的浏览器需要JavaScript

<h1>JavaScript is required to view this site</h1> <p>Ontario.ca needs JavaScript to function properly and provide you with a fast,
stable experience. Please enable JavaScript or check your browser's settings.</p>...Outdated browsers lack safety features that keep your information secure
查看此网站需要
JavaScriptOntario.ca需要JavaScript才能正常运行并为您提供快速、,
稳定的经验。请启用JavaScript或检查浏览器的设置。

…过时的浏览器缺乏安全功能,无法保证信息的安全
我尝试使用JSON解析页面,结果相同。页面作为
stringIO
对象返回,并且
.string
也具有相同的结果

我怎样才能抓取这一页和其他以这种方式获得服务的页面?我认为这是JavaScript服务站点经常出现的问题

由于它是通过ajax加载的,所以您需要使用。
而且,他们似乎有一个,你可能也想看看这个。

页面是通过ajax加载的,所以加载这个站点的一种方法是在这个站点上使用Watir gem。顺便问一下,您想检索哪部分信息?好的,我们来看看。我想要出版的安大略案例。欢迎来到SO!你的问题问得不好。寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。见:“”。Nokogiri不是为处理基于JavaScript的页面而设计的。它可以帮助您定位脚本,从中您可以编写代码来提取URL并处理这些URL,但DHTML超出了Nokogiri的范围。搜索“
ruby scrape javascript
”@theTinMan所有这些项目都在我的帖子中。我不知道它是通过AJAX提供的。这就是问题所在,费尔南多正确地回答了这个问题。通过阅读我的帖子,它是可以复制的。你说你尝试过一些东西,但没有展示给我们;努力的证据是提问的重要部分。你会问如何抓取页面,但是研究、显示你研究的地方以及解释为什么没有帮助也是努力的一部分。你得到的评论并不能使问题变得更好,也不能使问题重现。你知道你所采取的步骤,你也许能够复制它,但这也不能让它成为一个好问题,因为我们无法复制你尝试过的任何东西。