topshelfcraft/scraper

轻松从任何地方获取、解析和重组HTML或XML。

4.0.0 2022-10-07 21:12 UTC

This package is auto-updated.

Last update: 2024-09-08 01:25:17 UTC


README

轻松从任何地方获取、切割、切块并输出HTML(或XML)内容。

A Top Shelf Craft作品
Michael Rog,所有者

安装

  1. 在项目目录中,使用Composer安装插件包

    composer require topshelfcraft/scraper
    
  2. 在控制面板中,转到设置 → 插件,然后点击Scraper的“安装”按钮。

  3. 没有第3步。

Scraper还可在Craft CMS插件商店中安装。

使用方法

Scraper插件在Twig模板中公开了一个功能齐全的爬虫对象,允许您从远程源文档中获取、解析和过滤DOM元素。

实例化客户端

调用插件时,您可以选择使用SimpleHtmlDom或Symfony组件实例化爬虫

{% set crawler = craft.scraper.using('symfony').get('https://zombo.com') %}
{% set crawler = craft.scraper.using('simplehtmldom').get('https://zombo.com') %}

我通常推荐使用Symfony组件;它们更强大且对错误源代码的抵抗力更强。(SimpleHtmlDom爬虫包含在内,以提供与Craft 2项目的向后兼容性。)

使用Symfony客户端

当选择Symfony组件时,get方法实例化一个完整的BrowserKit客户端,让您能够访问所有BrowserKitDomCrawler方法。

您可以像这样遍历源文档中的DOM元素

{% for node in crawler.filter('h2 > a') %}
    {{ node.text() }}
{% endfor %}

使用SimpleHtmlDom客户端

当选择SimpleHtmlDom爬虫时,get方法实例化一个SimpleHtmlDom客户端,让您能够访问所有SimpleHtmlDom方法

您可以像这样遍历源文档中的DOM元素

{% for node in crawler.find('h1') %}
    {{ node.innertext() }}
{% endfor %}

太好了!我还有问题。

StackExchange上提问,并通过电子邮件或Discord通知我。

系统要求是什么?

Craft 4.2.1+

我发现了一个错误。

请创建GitHub问题,提交到4.x.dev分支,或者直接给我发电子邮件。

贡献者