mehrabx / web-crawler
此包的最新版本(v1.0)没有可用的许可证信息。
网络爬虫包
v1.0
2021-12-01 21:25 UTC
Requires
- ext-curl: *
- ext-dom: *
- ext-libxml: *
- guzzlehttp/guzzle: ^7.4
This package is auto-updated.
Last update: 2024-09-10 16:39:05 UTC
README
PHP 网络爬虫
这个库是一个 PHP 网络爬虫,它接收一系列 URL 和 DOM 选择,以遍历网页,并在每个页面上执行自定义的分析器。
安装
使用 composer 安装此库
composer require mehrabx/web-crawler
使用方法
在当前版本中,使用 xpath 表达式 选择元素
//set list of URLs and selects DOM elements of each URL page $urls = [ 'https://test.exp/?page=1' => ["//img[@class='type1']","//a[@class='type1']"], 'https://test.exp/?page=2' => ["//img[@class='type2'"], 'https://test.exp/?page=3' => "//img[@class='type3']", ]; //return array of results return \Crawler\Facades\CrawlFacade::make($urls)->start() ;
选项
sleep
为了避免被目标 URL 封锁,您可以在爬取每个 URL 之间设置睡眠时间
$urls = [ 'https://test.exp/?page=1' => ["//img[@class='type1']","//a[@class='type1']"], 'https://test.exp/?page=2' => ["//img[@class='type2'"], ]; //set 5 seconds sleep time return \Crawler\Facades\CrawlFacade::make($urls)->sleep(10)->start() ;
默认选择
您可以设置默认选择。没有选择的 URL 可以使用它
$urls = [ 'https://test.exp/?page=1', //this url has not select 'https://test.exp/?page=2' => ["//img[@class='type2'"], ]; return \Crawler\Facades\CrawlFacade::make($urls) ->defaultSelect("//img[@class='type1']") ->start() ;