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相关文章推荐
- php的global
- vsftpd的工作原理和配置
- php判断是否为一维数组--count的妙用
- php函数的引用返回
- FileInputStream与FileOutputStream练习题 -------------------图片拷贝
- php的unset函数何时释放内存
- 4.PHP 教程_PHP 变量
- 3.PHP 教程_PHP 语法
- php中的关于xml的使用(SEO)
- PHP ${}
- 批处理 ftp 上传文件
- Ubuntu15.04中FTP-vsftp配置
- Ubuntu14.04安装phpmyadmin 出现的问题及解决办法
- HDU 1096 A+B for Input-Output Practice (VIII)
- thinkphp3.1多表关联查询
- php mygetype typeof 变量的数据类型
- php -l filename.php 来检查语法
- 浏览器上传文件到PHP的几种方法
- php--字符转义
- php--字符转义