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 相关文章推荐
Sorting Array Values in PHP(数组排序)
Sep 15 PHP
基于PHP文件操作的详解
Jun 05 PHP
PHP中spl_autoload_register函数的用法总结
Nov 07 PHP
php使用codebase生成随机数
Mar 25 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
培养自己的php编码规范
Sep 28 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 PHP
php中array_unshift()修改数组key注意事项分析
May 16 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 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
德生S2000电路分析
2021/03/02 无线电
PHP 生成N个不重复的随机数
2015/01/21 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
JavaScript判断输入是否为数字类型的方法总结
2017/09/28 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python获取当前时间的方法
2014/01/14 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
python实现串口自动触发工作的示例
2019/07/02 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
如何基于python操作json文件获取内容
2019/12/24 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
公务员的自我鉴定
2013/10/26 职场文书
文明演讲稿范文
2014/05/12 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android
python pygame 开发五子棋双人对弈
2022/05/02 Python