Flexible way for data scraping
composer require fiv/parser:2.0.*
$grabber = new \Fiv\Parser\Grabber();
$links = $grabber->getHtml('http://funivan.com')->attribute('//a/@href')->getItems();
print_r($links);
$grabber = new \Fiv\Parser\Grabber();
$page = $grabber->getHtml('http://funivan.com/admin/');
$formData = array('name' => 'admin');
$adminPage = $grabber->submitForm($formData, '//form[@id="login"]');
$logoutLink = $adminPage->attribute('//a[@id="logout"]/@href')->getFirst();
echo $logoutLink;
$request = new \Fiv\Parser\Request();
$request->get('http://funivan.com');
$httpCode = $request->getInfo()->getHttpCode();
echo $httpCode;
$request = new \Fiv\Parser\Request();
$request->setCacheAdapter(new \Fiv\Parser\Cache\FileCache());
# real request to server
$page = $request->get("http://funivan.com/");
# get from cache
$cachePage = $request->get("http://funivan.com/");