可以看到这个请求返回的就是整个页面的html,如果我们需要这里的某一个数据就可以通过正则匹配的方式匹配出来/<title>(.*?)<\/title>/ 这样title就被匹配出来了
这是我实际应用的一个代码段仅供参考。
foreach($arr as $v=>$k){
$str = '';
$res = $client->get("http://waimai.xxxxx.com/waimai/shop/$v");
$res = str_replace(array("\r\n", "\r", "\n"), "", $res);
preg_match_all('/<h3 data-title="(.*?)".*?<span class="sales-count">月售(.*?)份<\/span>/',$res,$arr2);
unset($arr2[0]);
for($i=0;$i<count($arr2[1]);$i++){
$str .= $k.",".$arr2[1][$i].','.$arr2[2][$i]."\n";
}
if(empty($str)) echo "error\n";
$file = fopen("./xxx.txt",'a+');
fwrite($file,$str);
fclose($file);
}
总结:很多时候我们抓数据的时候都可以很直观的抓取出来,无论是正则还是json,只要页面上有的东西我们都可以获取出来,然后就可以存储或者走自己的逻辑。
最主要的是我们要知道去请求哪个请求,这个请求有多少个参数都是做什么的,get或者post都需要你分析出来然后通过代码的方式来模拟出来。