无头Chrome驱动的分布式爬虫
Posted
tags:
中文标题:无头Chrome驱动的分布式爬虫 原文标题:Distributed crawler powered by Headless Chrome 项目评级:Star:5400 Fork:432 下载地址:https://github.com/yujiosaka/headless-chrome-crawler 详情介绍无头铬履带
API |示例|提示|行为准则|贡献|更改日志
无头Chrome驱动的分布式爬虫
特征
基于对HTML文件的简单请求的爬网程序通常速度很快。然而,它有时会捕获空的实体,尤其是当网站建立在AngularJS、React和Vue.js等现代前端框架上时。
该爬虫由Headless Chrome提供支持,提供了简单的API来抓取这些动态网站,并具有以下功能:
入门
安装
注意:无头铬履带包含Puppeteer。在安装过程中,它会自动下载Chromium的最新版本。要跳过下载,请参阅环境变量。
用法
示例
请参阅此处查看完整的示例列表。示例可以从根文件夹中运行,如下所示:
API参考
请参阅此处的API参考。
调试提示
有关调试提示,请参阅此处。
常见问题
这与其他爬虫有什么不同?
爬行器大致有两种类型。一个是静态的,另一个是动态的。
静态爬网程序基于对HTML文件的简单请求。它们通常很快,但当HTML在浏览器上动态更改时,无法抓取内容。
基于PhantomJS和Selenium的动态爬虫在这样的动态应用程序上神奇地工作。然而,PhantomJS的维护人员已经辞职,并建议改用快速稳定的无头Chrome。Selenium仍然是一个维护良好的跨浏览器平台,可以在Chrome、Safari、IE等平台上运行。然而,爬虫不需要这样的跨浏览器支持。
这个爬虫是动态的,基于无头Chrome。
这和《木偶师》有什么不同?
这个爬行器是建立在Puppeteer之上的。
Puppeter提供了中低端API来操作Headless Chrome,因此您可以使用它构建自己的爬网程序。这样,您就可以更多地控制要实现的功能,以满足您的需求。
然而,大多数爬网程序都需要以下常见功能,如跟踪链接、遵守robots.txt等。对于大多数爬网目的,该爬网程序是一个通用的解决方案。如果你想用无头Chrome快速开始爬行,这个爬行器就是为你准备的。