原副标题:掌控PHP触发器收集统计数据基本功,截取触发器统计数据!
ebC语言,具备着广为的应用领域情景,那时他们来谈谈采用PHP收集触发器统计数据的基本功。
一、触发器统计数据收集简述
触发器统计数据收集指的是在不创下页面的情况下,透过Ajax等控制技术从最终目标中文网站截取统计数据并表明在现阶段页面中。较之现代形式,触发器收集不但能提升中文网站工作效率,还能急剧增加伺服器阻抗,提升使用者新体验。
二、触发器统计数据收集基本原理
在展开触发器统计数据收集以后,须要介绍许多基本概念。具体来说是Ajax控制技术,它能透过第一类向伺服器端允诺,并转交伺服器返回的统计数据。其二是DOM操作方式控制技术,它能透过JavaScript静态修正页面文本。
$url =; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $result = curl_exec($ch); curl_close($ch); echo $result;四、导出最终目标页面源码
$doc = new DOMDocument(); @$doc->loadHTML($html);//忽视原始数据 $xpath = new DOMXPath($doc); $elements =$xpath->query(//div[@class=”content”]); foreach ($elements as $element){ echo $element->nodeValue; }五、采用Simple HTML DOM导出最终目标页面源码
除了DOMDocument类外,还能采用服务器端库Simple HTML DOM来导出最终目标页面的源码。它提供更多了一类更为快捷的形式来搜寻和抽取HTML原素。下列是两个单纯实例:
include(simple_html_dom.php); $html = file_get_html(); $element =$html->find(div.content,0); echo $element->plaintext;六、采用正则表达式导出最终目标页面源码
正则表达式是一类强大的模式匹配工具,能用于从文本中抽取所需信息。在PHP中,能透过preg_match函数等相关函数来实现正则表达式匹配。下列是两个简单实例:
preg_match(/<div class=”content”>(.*?)<\/div>/is,$html,$matches); echo $matches[1];七、采用PhantomJS展开无界面浏览
$cmd =phantomjs –ignore-ssl-errors=true –ssl-protocol=tlsv1 script.js; $html = shell_exec($cmd); echo $html;八、采用Selenium展开自动化测试
Se
require_once(vendor/autoload.php); use Facebook\WebDriver\Remote\RemoteWebDriver; use Facebook\WebDriver\WebDriverBy; $host =:4444/wd/hub; $driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome()); $driver->get(); $element =$driver->findElement(WebDriverBy::className(content)); echo $element->getText(); $driver->quit();以上就是PHP采