scn / udger-php
基于 Udger 的 PHP 代理字符串解析器 https://udger.com/products/local_parser
v4.2.0
2023-12-20 09:26 UTC
Requires
- php: ~8.0.0||~8.1.0||~8.2.0||~8.3.0
- ext-sqlite3: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-20 11:21:50 UTC
README
本地解析器是一个非常快速和准确的用户代理字符串检测解决方案。允许开发者本地安装和集成一个高度可扩展的产品。我们提供对设备(个人电脑、平板电脑、智能电视、游戏机等)、操作系统、客户端软件类型(浏览器、电子邮件客户端等)以及设备市场名称(例如:索尼Xperia平板电脑S、诺基亚Lumia 820等)的检测。它还提供有关IP地址的信息(公共代理、VPN服务、Tor出口节点、假爬虫、网页爬虫、数据中心名称等)
- 测试了超过50,000个独特的用户代理。
- 由 https://udger.com/ 提供的最新数据
要求
- php >= 8.0.0
- ext-sqlite3 (https://php.ac.cn/manual/en/book.sqlite3.php)
- 数据文件 v3 (udgerdb_v3.dat) 来自 https://data.udger.com/
功能
- 快速
- LRU 缓存
- 采用 MIT 许可发布
安装
composer require udger/udger-php
使用方法
您应该查看包含的示例(parse.php
、account.php
)
以下是一个快速示例
require_once dirname(__DIR__) . '/vendor/autoload.php'; $factory = new Udger\ParserFactory(); $parser = $factory->getParser(); $parser->setDataFile(sys_get_temp_dir() . "/udgercache/udgerdb_v3.dat"); //$parser->setCacheEnable(false); //$parser->setCacheSize(4000); $parser->setUA('Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-A510F Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.5 Chrome/38.0.2125.102 Mobile Safari/537.36'); $parser->setIP("2A02:598:7000:116:0:0:0:101"); $ret = $parser->parse(); echo "<pre>"; print_r($ret); echo "</pre>"; Array ( [user_agent] => Array ( [ua_string] => Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-A510F Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.5 Chrome/38.0.2125.102 Mobile Safari/537.36 [ua_class] => Mobile browser [ua_class_code] => mobile_browser [ua] => Mobile Samsung Browser 3.5 [ua_version] => 3.5 [ua_version_major] => 3 [ua_uptodate_current_version] => [ua_family] => Mobile Samsung Browser [ua_family_code] => mobile_samsung_browser [ua_family_homepage] => http://developer.samsung.com/internet [ua_family_vendor] => SAMSUNG [ua_family_vendor_code] => samsung [ua_family_vendor_homepage] => http://www.samsung.com/ [ua_family_icon] => samsung_browser.png [ua_family_icon_big] => samsung_browser_big.png [ua_family_info_url] => https://udger.com/resources/ua-list/browser-detail?browser=Mobile Samsung Browser [ua_engine] => WebKit/Blink [os] => Android 5.1 lollipop [os_code] => android_5_1 [os_homepage] => https://en.wikipedia.org/wiki/Android_Lollipop [os_icon] => android.png [os_icon_big] => android_big.png [os_info_url] => https://udger.com/resources/ua-list/os-detail?os=Android 5.1 lollipop [os_family] => Android [os_family_code] => android [os_family_vendor] => Google, Inc. [os_family_vendor_code] => google_inc [os_family_vendor_homepage] => https://www.google.com/about/company/ [device_class] => Smartphone [device_class_code] => smartphone [device_class_icon] => phone.png [device_class_icon_big] => phone_big.png [device_class_info_url] => https://udger.com/resources/ua-list/device-detail?device=Smartphone [device_marketname] => Galaxy A5 (2016) [device_vendor] => Samsung [device_vendor_code] => samsung [device_vendor_homepage] => http://www.samsung.com/ [device_vendor_icon] => samsung.png [crawler_last_seen] => [crawler_category] => [crawler_category_code] => [crawler_respect_robotstxt] => ) [ip_address] => Array ( [ip] => 2A02:598:7000:116:0:0:0:101 [ip_ver] => 6 [ip_classification] => Crawler [ip_classification_code] => crawler [ip_hostname] => [ip_last_seen] => 2016-02-12 04:28:56 [ip_country] => Czech Republic [ip_country_code] => CZ [ip_city] => Prague [crawler_name] => SeznamBot/3.2-test1 [crawler_ver] => 3.2-test1 [crawler_ver_major] => 3 [crawler_family] => SeznamBot [crawler_family_code] => seznambot [crawler_family_homepage] => http://napoveda.seznam.cz/cz/seznambot.html [crawler_family_vendor] => Seznam.cz, a.s. [crawler_family_vendor_code] => seznam-cz_as [crawler_family_vendor_homepage] => http://www.seznam.cz/ [crawler_family_icon] => seznam.png [crawler_family_info_url] => https://udger.com/resources/ua-list/bot-detail?bot=SeznamBot#id12590 [crawler_last_seen] => 2016-02-15 06:12:28 [crawler_category] => Search engine bot [crawler_category_code] => search_engine_bot [crawler_respect_robotstxt] => unknown [datacenter_name] => [datacenter_name_code] => [datacenter_homepage] => ) )
运行测试
./vendor/bin/codecept run
自动更新下载
- 对于自动更新数据,请使用 Udger 数据更新器(https://udger.com/support/documentation/?doc=62)
程序员文档
作者
- Udger.com 团队 (info@udger.com)
旧版 v2 格式
如果您仍然使用数据库的旧格式(v2),请参阅 old_format_v2 分支