cswannauger/pwa-spider

用于抓取渐进式Web应用的网页蜘蛛

dev-master 2021-04-06 10:23 UTC

This package is auto-updated.

Last update: 2024-09-06 17:37:02 UTC


README

这是一个简单的PHP包,用于安装一个网页蜘蛛,从互联网上找到并返回渐进式Web应用的示例。它只需要一个起始网站集合,其余工作都由它来完成。

安装

该包托管在composer上,因此可以使用以下命令安装:

composer require cswannauger/pwa-spider

使用蜘蛛

安装后,要开始使用蜘蛛,只需使用 PWASpider\Spider 并调用

$sites = Spider::start(array $links, int $limit = 1000000);

$links数组是你希望爬虫从这些URL开始的URL数组,可选变量$limit设置为你要返回的网站的最大数量。如果不使用,它默认为100万个,这可能会运行几天。

该方法返回一个嵌套数组,包含每个Web应用的详细信息。每个网站的数组格式如下

 [
    'url' => 'https://twitter.com',
    'title' => 'Twitter',
    'img' => 'https://abs.twimg.com/responsive-web/client-web-legacy/icon-default-large.8e027b65.png',
    'description' => 'Twitter is what’s happening and what people are talking about right now.'
 ]

你还可以使用 Spider::checkPWA($doc) 方法来确认你是否有权限访问的任何网站是否是渐进式Web应用。它接受一个duzun/hQuery文档,并处理它以检查PWA的有效性。如果是PWA,则返回网站的manifest.json文件的位置;否则返回 false

它是如何工作的

这个检查目前相当简单,但根据测试,它仍然准确。它遍历网站头部的<link>标签,以查看是否有任何标签是链接到网站的manifest文件(通常存储在/manifest.json)。此文件是创建良好格式的渐进式Web应用的必需品,它存储了有关应用程序本身(名称、图标、主题颜色等)的所有信息。