您的位置:首页 > 编程语言 > PHP开发

php-spider代码使用

2015-08-04 22:53 826 查看

php-spider代码使用

网络爬虫的几个要点

1.网页种子,就是最开始的那个网站

$spider = new Spider('https://www.desktoppr.co/wallpapers');


2.网页进入下一级页面的标准

$spider->addDiscoverer(new XPathExpressionDiscoverer("//div[@class='wallpaper wallpaper-small-wrap']/div[@class='image']/a"));
$spider->addDiscoverer(new XPathExpressionDiscoverer("//span[@class='page']/a"));


3.网页的最大深度,网页队列的大小

$spider->setMaxDepth(5);
$spider->setMaxQueueSize(100);


4.得到网页的数据,并使用xpath进行筛选

foreach ($spider->getPersistenceHandler() as $resource) {
$datas = $resource->getCrawler()
->filterXpath("//div[@class='wallpaper wallpaper-large-wrap']/div[@class='preview']/div[@class='image']/img")
->each(function($node, $i){
return $node->attr('src');
});

foreach ($datas as $data) {
echo $data."\n";
}
}


知识点

1.xpath筛选出要使用的标签

$spider->addDiscoverer(new XPathExpressionDiscoverer("//span[@class='page']/a"));

filterXpath("//div[@class='wallpaper wallpaper-large-wrap']/div[@class='preview']/div[@class='image']/img")


2.使用数据库存储爬下来的数据

// 这里我还没有写,先空着吧,反正就是mysql等数据库的插入


爬虫的大体思路总结

一个种子网页,这个网页是“网络蜘蛛”爬上网的点

可以设定“蜘蛛网”下一个点判断的标准,如果满足,得到一个新的页面

可以设定深度,即网页可以有多深

可以设定队列的长度,一个网页占用一个位置

确定进入下一个页面的条件要精心书写,影响到效率

最后就是最重要但最简单的获取筛选完的数据,存入到数据库中

项目地址

php-spdier
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: