PHP实现爬虫爬取图片代码实例


Posted in PHP onMarch 03, 2021

文字信息

我们尝试获取表的信息,这里,我们就用某校的课表来代替: 

PHP实现爬虫爬取图片代码实例 

接下来我们就上代码:

a.php

<?php  
header( "Content-type:text/html;Charset=utf-8" );
$ch = curl_init();
$url ="表的链接";
curl_setopt ( $ch , CURLOPT_USERAGENT ,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Safari/537.36" );
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content=curl_exec($ch);
preg_match_all("/<td rowspan=\"\d\">(.*?)<\/td>\n<td rowspan=\"\d\">(.*?)<\/td><td rowspan=\"\d\" align=\"\w+\">(.*?)<\/td><td rowspan=\"\d\" align=\"\w+\">(.*?)<\/td><td>(.*?)<\/td>\n<td>(.*?)<\/td><td>(.*?)<\/td>/",$content,$matchs,PREG_SET_ORDER);
//匹配该表所用的正则
var_dump($matchs);

然后咱们就运行一下: 

PHP实现爬虫爬取图片代码实例

成功获取到课表;

图片获取

绝对链接

我们以百度图库的首页为例 

PHP实现爬虫爬取图片代码实例

b.php

<?php 
header( "Content-type:text/html;Charset=utf-8" );
$ch = curl_init();
$url="http://image.baidu.com/";
curl_setopt ($ch , CURLOPT_USERAGENT ,"Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Safari/537.36" );
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content=curl_exec($ch);
$string=file_get_contents($url);
preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/", $string,$matches);
$new_arr=array_unique($matches[3]);
foreach($new_arr as $key) {
	echo "<img src=$key>";
}

然后,我们就获得了下面的页面: 

PHP实现爬虫爬取图片代码实例

相对链接

百度图库的图片的链接大部分是绝对链接,那么当我们遇到网页图片为相对链接的时候,我们该怎么处理呢?其实很简单,我们只需要将循环那部分改为 

PHP实现爬虫爬取图片代码实例 

那么我们就可以同样在浏览器中输出图片了;

到此这篇关于PHP实现爬虫爬取图片代码实例的文章就介绍到这了,更多相关PHP实现爬虫内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP 和 HTML
Oct 09 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 PHP
php实现执行某一操作时弹出确认、取消对话框
Dec 30 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
php+curl 发送图片处理代码分享
Jul 09 PHP
通过Email发送PHP错误的方法
Jul 20 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
Mar 02 PHP
php die()与exit()的区别实例详解
Dec 03 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
PHP执行系统命令函数实例讲解
Mar 03 #PHP
Git命令之分支详解
Mar 02 #PHP
PHP之header函数详解
Mar 02 #PHP
laravel与thinkphp之间的区别与优缺点
Mar 02 #PHP
php中array_fill函数的实例用法
Mar 02 #PHP
PHP网站常见安全漏洞,及相应防范措施总结
Mar 01 #PHP
php框架知识点的整理和补充
Mar 01 #PHP
You might like
4.与数据库的连接
2006/10/09 PHP
关于文本留言本的分页代码
2006/10/09 PHP
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
各种快递查询--Api接口
2016/04/26 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
php数组遍历类与用法示例
2019/05/24 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
js实现简单的打印表格
2020/01/15 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
使用python实现语音文件的特征提取方法
2019/01/09 Python
python实现随机加减法生成器
2020/02/24 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
Python 随机按键模拟2小时
2020/12/30 Python
银行实习自我鉴定
2013/10/12 职场文书
学生周末回家住宿长期请假条
2014/02/15 职场文书
大学生作弊检讨书
2014/02/19 职场文书
社区居务公开实施方案
2014/03/27 职场文书
商场消防安全责任书
2014/07/29 职场文书
国企干部对照检查材料
2014/08/22 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书