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里含有页面未找到的字段。

以下就是提取全部的相关数据。

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容