cswannauger / pwa-spider
用于抓取渐进式Web应用的网页蜘蛛
dev-master
2021-04-06 10:23 UTC
Requires
- php: ^7.3
- bopoda/robots-txt-parser: ^2.4
- duzun/hquery: ^3.0
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应用的必需品,它存储了有关应用程序本身(名称、图标、主题颜色等)的所有信息。