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 相关文章推荐
消息持续发送的完整例子
Oct 09 PHP
ASP和PHP都是可以删除自身的
Apr 09 PHP
一步一步学习PHP(6) 面向对象
Feb 16 PHP
php更改目录及子目录下所有的文件后缀的代码
Sep 24 PHP
PHP删除目录及目录下所有文件的方法详解
Jun 06 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
Aug 13 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
Jul 21 PHP
CI框架数据库查询之join用法分析
May 18 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP扩展类型及安装方式解析
Apr 27 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
thinkPHP实现表单自动验证
2014/12/24 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
javascript中的new使用
2010/03/20 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
JavaScript获取表单内所有元素值的方法
2015/04/02 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
React实践之Tree组件的使用方法
2017/09/30 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
javascript关于“时间”的一次探索
2019/07/24 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
pandas分组聚合详解
2020/04/10 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
儿科护理实习自我鉴定
2013/09/19 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
学习社交礼仪心得体会
2016/01/22 职场文书
详解Python为什么不用设计模式
2021/06/24 Python
一次线上mongo慢查询问题排查处理记录
2022/03/18 MongoDB