jerodev/diglett

此包已被废弃,不再维护。作者建议使用jerodev/diggy包。

一个不可中断的PHP网络爬虫

v1.1.7 2020-04-27 12:48 UTC

This package is auto-updated.

Last update: 2021-02-15 16:56:25 UTC


README

Build Status Scrutinizer Code Quality StyleCI

Diglett是一个基于Symfony DomCrawler组件的扩展网络爬虫。它允许使用扩展和自定义CSS选择器来轻松地从网页中获取数据。

要求

  • PHP 7.1.18或更高版本

如何使用

Diglett包含一个返回Diglett实例的web客户端,但您也可以将您自己的Symfony Crawler对象注入到Diglett类中。从您的Diglett对象开始,您可以开始使用实现专用CSS过滤函数的不同功能。

$diglett = \Jerodev\Diglett\WebClient::get('https://www.tabletopfinder.eu/');
$firstParagraph = $diglett->getText("p:first()");

内置选择器函数

函数 描述 示例
:containsregex(str) 获取文本内容匹配正则表达式的元素 div p:containsregex([Hh]el+o)
:containstext(str) 获取文本内容包含此子字符串的元素 div p:containstext(Hello World)
:first() 获取集合中的第一个元素 ul li:first()
:last() 获取集合中的最后一个元素 ul li:last()
:next() 获取当前元素的第一个兄弟元素(如果存在) ul.test:next() li
:nth(x) 获取集合中的第n个元素(从1开始计数) ul li:nth(3)
:prev() 获取当前元素的先前兄弟元素(如果存在) ul li:last():prev()
:text(str) 获取具有此innerText的元素 ul li:text(Hello World)