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 mysql Errcode: 28 终极解决方法
Jul 01 PHP
php的字符串用法小结
Jun 08 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
Mar 23 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
解析PHP 使用curl提交json格式数据
Jun 29 PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
实例介绍PHP中zip_open()函数用法
Feb 15 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
Sep 05 PHP
Laravel定时任务的每秒执行代码
Oct 22 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
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
dojo 之基础篇
2007/03/24 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
在JavaScript并非所有的一切都是对象
2013/04/11 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
2017/01/05 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
2017/03/04 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
python多线程threading.Lock锁用法实例
2014/11/01 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
CSS3实现王者匹配时的粒子动画效果
2019/04/12 HTML / CSS
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
如何拷贝一整个Java对象,包括它的状态
2013/12/27 面试题
机电一体化大学生求职信
2013/11/08 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
阿凡达观后感
2015/06/10 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
日元符号 ¥
2022/02/17 杂记
python语言中pandas字符串分割str.split()函数
2022/08/05 Python