无头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快速开始爬行,这个爬行器就是为你准备的。

利用 selenium 的 webdrive 驱动 headless chrome

反爬虫中chrome无头浏览器的几种检测与绕过方式

爬虫使用无头浏览器

无头 Chrome 驱动程序不适用于 Selenium

ruby Chrome无头驱动器

07-seleniumPhantomJS(无头浏览器)