如何抓取Vue和React构建的基于组件的web应用程序



我想抓取Vue框架构建的SPA(与React框架相对相同(。但是,我看到内容在爬网时没有呈现。结果是:

<!doctype html>
<HTML>
<body>
<div id=app>
</div>
<script type=text/javascript src=/static/js/manifest.2ae2e69a05c33dfc65f8.js></script> 
<script type=text/javascript src=/static/js/vendor.60c471696de493d48a1c.js></script>
<script type=text/javascript src=/static/js/app.335a9e9866cb7dc6a517.js></script>
</body>
</html>

基于组件的javascript框架是反爬网的吗?如何使组件由爬网程序渲染?

我正在使用Abot框架来爬网建议

Abot所做的就是向目标网站发送请求,解析数据,然后将其传递回您。正如你可能知道的,像React或Vue这样的框架是100%基于JavaScript的,这意味着除非你运行JavaScript,否则不会呈现任何数据。因此,这里的解决方案是启动一个无头浏览器或另一个DOM引擎并抓取数据。

您可以使用的几个引擎是Selenium(Python和其他一些语言中提供的浏览器自动化框架(、Puppeter(NodeJS中基于Chromium的web scraper(或类似JSDOM的DOM引擎。

这个故事的寓意是:如果您想看到JavaScript呈现的结果,您必须在DOM中执行JavaScript。

最新更新