如何从网站提取动态生成的HTML

问题描述 投票:0回答:2

是否有可能提取Firebug或Chrome DevTools的HTML面板中显示的页面HTML?

我必须爬网许多网站,但有时信息不在静态源代码中,JavaScript在页面加载后运行,并动态创建一些新的HTML内容。如果再提取源代码,则这些内容不存在。

我有一个用Java内置的网络搜寻器来执行此操作,但是它使用了许多旧库。因此,出于学习目的,我想转向Rails / Ruby解决方案。我已经和Nokogir i和Mechanize一起玩了。

javascript html ruby-on-rails ruby web-crawler
2个回答
1
投票

如果搜寻器能够执行JavaScript,则只需使用document.firstElementChild.outerHTML获得动态创建的HTML结构。

NokogiriMechanize当前当前not能够解析JavaScript。看到为此使用“ Ruby Nokogiri Javascript Parsing”和“ How do I use Mechanize to process JavaScript?”。

您将需要其他工具,例如WATIRSelenium。它们驱动真正的Web浏览器,因此可以处理任何JavaScript。


0
投票

您无法获取来自数据库端的记录。您只能获取静态的HTML代码。

JavaScript必须使用爬虫无法获取的查询请求从数据库请求记录。

© www.soinside.com 2019 - 2024. All rights reserved.