Goutte爬虫实例
首先在命令行里输入:php artisan make:command CrawlHeros - -command=crawl:heros
将在APP\comsole\commands文件下生成一个CrawlHeros文件。
在kemel.php文件里添加声明commands文件。
在commands文件里的construct()方法里添加:$this->client = new Client();并use声明client;
在handle方法里调用一下crawl_wzry方法,crawl_wzry方法主要是用来抓取网页上的信息。
List_url写的是爬的网页地址
在filter里填写dev标签样式的名字,.后面加js样式名,#后面加id名。然后空格接各个标签。
我们用张总写好的脚本命令,爬取一下。php artisan crawl:heros
来检测是否爬取成功。
如果有的网页查看里的网络栏下的XHR里有json文件,就太好了,以上crawl_wzry方法里的代码都可以省略。直接获取右键复制json文件地址,然后在crawl_wzry方法里用。
我们通过dd打印。可以看到
这就是网页json文件。
然后我们需要做的是根据爬取到的这么多的对象,来爬取详细页面。
到详细页面后别忘了检测网络的XHR里有没有json文件,一般好的网页都会有的。
如果有的话,只要右键json文件复制响应,然后粘贴保存到public文件下的json的文件中的wzry文件里去。
然后在crawl_wzry方法里再写响应的爬详细数据。
这个方法里的if是因为有的新英雄页面是找不到的。判断一下,是否HTML里含有页面未找到的字段。
以下就是提取全部的相关数据。
这个人暂时没有 freestyle