laravel+Guzzle配合正则实现爬虫功能爬取或批量爬取网站数据

管理员 发布于 4年前   1214

laravel+Guzzle配合正则爬取或批量爬取网站数据;

思路:模拟请求url,把页面数据通过正则处理保存有用的数据存入数据库或文件

请求url:http://www.zongscan.com/demo333/178.html 用我博客里面的一篇文章测试

image.png

看看html

image.png

//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...

image.png 

最后如果要批量爬取的话可以封装个方法循环添加id爬取,可能你有其他的方式curl等等...

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

该博客于2020-12-7日,后端基于go语言的beego框架开发
前端页面使用Bootstrap可视化布局系统自动生成

是我仿的原来我的TP5框架写的博客,比较粗糙,底下是入口
侯体宗的博客

      订阅博客周刊

文章标签

友情链接

HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群
侯体宗的博客