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注入实例
Oct 09 PHP
用PHP实现维护文件代码
Jun 14 PHP
一周让你学会PHP 不错的学习资料
Feb 06 PHP
php中去除所有js,html,css代码
Oct 12 PHP
PHP的cURL库简介及使用示例
Feb 06 PHP
Php-Redis安装测试笔记
Mar 05 PHP
PHP实现过滤各种HTML标签
May 17 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
教你在header中隐藏php的版本信息
Aug 10 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
Nov 02 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 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
几种显示数据的方法的比较
2006/10/09 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
php switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
2018/04/24 PHP
javascript实现div的显示和隐藏的小例子
2013/06/25 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
node.js 发布订阅模式的实例
2017/09/10 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
Python fileinput模块使用介绍
2014/11/30 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
python能否java成为主流语言吗
2020/06/22 Python
博朗(Braun)俄罗斯官方商店:德国小家电品牌
2019/09/24 全球购物
中班上学期个人总结
2015/02/12 职场文书
生产设备维护保养制度
2015/08/06 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js
python画条形图的具体代码
2022/04/20 Python