timeonegroup / udger-php
基于 Udger 的 PHP 代理字符串解析器 https://udger.com/products/local_parser
5.0.1
2022-12-27 11:17 UTC
Requires
- php: >=8.0
- ext-json: *
- ext-pdo: *
- guzzlehttp/guzzle: ^7.5@dev
- monolog/monolog: ^2
Requires (Dev)
README
从原始库分支:Udger
本地解析器是一种非常快速和精确的用户代理字符串检测解决方案。允许开发者在本地安装和集成一个高度可扩展的产品。我们提供设备(个人电脑、平板电脑、智能电视、游戏机等)、操作系统、客户端软件类型(浏览器、电子邮件客户端等)和设备市场名称(例如:索尼Xperia平板电脑S、诺基亚Lumia 820等)的检测。它还提供有关IP地址(公共代理、VPN服务、Tor出口节点、假爬虫、网络爬虫、数据中心名称等)的信息。
- 测试了超过50,000个独特的用户代理。
- 由 https://udger.com/ 提供的最新数据
要求
- php >= 7.2.0
- PDO
本地数据库
- ext-sqlite3
- 数据文件 v3 (udgerdb_v3.dat) 来自 https://data.udger.com/
MySQL 数据库
- PDO MySQL
特性
- 快速
- LRU 缓存
- MIT 许可证下发布
- 本地文件或 MySQL 服务器
安装
composer require timeonegroup/udger-php
用法
你应该查看包含的示例(parse.php
,account.php
)
示例
使用 MySQL
use Udger\ParserFactory; require_once dirname(__DIR__) . '/vendor/autoload.php'; // creates a new UdgerParser object $parser = ParserFactory::buildParserFromMySQL('mysql:host=db;dbname=udger;charset=UTF8', 'udger', 'udger'); $parser->setUA('Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0'); $parser->setIP("66.249.64.73"); $ret = $parser->parse();
使用数据文件
use Udger\ParserFactory; require_once dirname(__DIR__) . '/vendor/autoload.php'; // creates a new UdgerParser object $parser = ParserFactory::buildParserFromDataFile(sys_get_temp_dir() . '/udgercache/udgerdb_v3.dat'); $parser->setUA('Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0'); $parser->setIP("66.249.64.73"); $ret = $parser->parse();
开发
初始化
docker compose up db -d docker compose run --rm init
运行测试
docker compose run --rm php ./vendor/bin/codecept run
自动更新下载
- 对于自动更新数据,请使用 Udger 数据更新器(https://udger.com/support/documentation/?doc=62)