보다 복잡한 http 네트워크 작업의 경우
QueryList
의 내장 네트워크 작업은 매우 간단합니다. QueryList
는 보다 복잡한 네트워크 작업을 위해 DOM 선택에 중점을 둡니다. 요청 확장
을 사용하면 쿠키 전달, 원본 위조, 브라우저 위조 및 기타 기능을 쉽게 구현할 수 있지만 여전히 요구 사항을 충족할 수 없다고 생각되면 다음 몇 가지 해결 방법을 참조하세요. # 🎜🎜#
QueryList
本身内置的网络操作非常简单,QueryList
关注于DOM选择;对于更复杂的网络操作可以选择使用Request扩展
,它可以简单的实现:携带cookie、伪造来路、伪造浏览器等功能,但如果觉的它依旧不能满足你的需求,下面有几个可以参考的方案:例:
function getHtml($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); return $result; } $rules = array( //采集规则 ); //获取页面源码 $html = getHtml('http://xxx.com'); //采集 $data = QueryList::Query($html,$rules)->data;
QueryList
可以无缝与任意第三放http包配合使用,下面以guzzlehttp/guzzle
包为例,Guzzle
是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。
#🎜 🎜#
Guzzle
1. 컬을 사용하여 http 요청을 직접 캡슐화