laravel+Guzzle配合正则实现爬虫功能爬取或批量爬取网站数据
Laravel  /  管理员 发布于 3年前   2779
laravel+Guzzle配合正则爬取或批量爬取网站数据;
思路:模拟请求url,把页面数据通过正则处理保存有用的数据存入数据库或文件
请求url:http://www.zongscan.com/demo333/178.html 用我博客里面的一篇文章测试
看看html
//Guzzle 简单爬取数据
$url = "http://www.zongscan.com/demo333/178.html";
$request = new GuzzleRequest('GET', $url);
$client = new \GuzzleHttp\Client();
$response = $client->send($request, ['timeout' => 5]);
//获取页面数据
$content = $response->getBody()->getContents();
// 通过 preg_replace 函数使页面源码由多行变单行
$htmlOneLine = preg_replace("/\r|\n|\t/","",$content);
//获取这个标签及里面的内容
preg_match("/<div class=\"jumbotron\">(.*)<\/div>/iU",$htmlOneLine,$titleArr);
$a = $titleArr[0];
//如果想要把html标签清掉就用strip_tags() 自己去发挥
dd( $a );
//拿到这数据就可以自己操作了 比如存数据库就拼sql...
最后如果要批量爬取的话可以封装个方法循环添加id爬取,可能你有其他的方式curl等等...
博主 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..xiaoB 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..BUG4 在
你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..博主 在
go语言+beego框架中获取get,post请求的所有参数中评论 @ t1 直接在router.go文件中配就ok..Jade 在
如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号