marioungui / php-component-spider
用于抓取品牌网站内容的PHP包
v0.7.2
2024-07-22 21:39 UTC
Requires
- php: ^8.1.2
- league/csv: ^9.8
- spekulatius/phpscraper: ^2.0
- symfony/browser-kit: ^6.4
- symfony/http-kernel: ^5.4
README
此PHP组件爬虫旨在抓取特定组件或由XPath过滤器定义的搜索标准指定的网站。它使用PHPScraper库抓取和处理网页,并使用League\Csv库将结果记录在CSV文件中。该工具易于扩展,可以使用自定义XPath过滤器来满足各种抓取需求。
功能
- 基于XPath过滤器抓取特定组件或文本的网站。
- 将结果记录到CSV文件中以供进一步分析。
- 可配置超时和最大重定向。
- 易于通过附加过滤器进行扩展。
要求
- PHP 8.1或更高版本
- Composer
从源代码构建和运行
- 克隆仓库
git clone https://github.com/marioungui/PHP-Component-Spider.git
- 导航到项目目录
cd PHP-Component-Spider
- 使用Composer安装依赖项
composer install
- 构建Phar包
php -d phar.readonly=0 phar-creator.php
- 运行batch spider.bat
- 按照屏幕上的说明选择要搜索的组件和要抓取的域名。
过滤器
过滤器定义在filters.php中,并使用XPath识别网页上的特定组件。以下是当前可用的过滤器
使用自定义过滤器进行扩展
使用新过滤器扩展工具很简单
- 打开
filters.php
文件。 - 在
switch
语句中添加一个新的case
,使用组件名称或索引。 - 使用自定义XPath定义
$component
和$filter
变量。
示例
case 'new-component': case 11: $component = "New Component"; $filter = "//*[@class='new-component-class']"; break;
贡献
如果您有任何改进或想要添加的新功能,请随时提交问题或拉取请求。
许可证
本项目采用MIT许可证。