<?php
//去采集a67 图片 网站链接 http://www.xiamov.com/list/1/p.2  你也可以采集其他网站的图片
//创建链接 dedecms--a67
//设置执行不超时
set_time_limit(0);//fsockopen() 函数 第一个参数是指主机 第二个参数指的是端口号 一般我们默认为80端口 第三个参数是错误编号  第四个参数是返回错误的字符串  第五个参数指的是链接时长 我上面写的是30秒 如果30秒没有链接到对方主机 则会返回链接失败
$conn=fsockopen("www.xiamov.com",80,$errno,$errstr,30);
if(!$conn){die("链接失败");
}//说话  协议
$httpstr="GET /list/1/p.2 HTTP/1.1\r\n";
$httpstr.="Host: www.xiamov.com\r\n";
$httpstr.="Connection: Close\r\n\r\n";//发送http请求 对方就应该有回应
fwrite($conn,$httpstr,strlen($httpstr));//看看a67 网站会送的是什么东西
$res="";
while(!feof($conn)){$res.=fread($conn,1024);
}
fclose($conn);
//file_put_contents("D:/1.txt", $res);
//echo $res;
//我要找到该页面的图片资源 img src
//<img alt="邪恶小分队下载" title="邪恶小分队下载" src="http://img.xiamov.com/vod/2016-07/578e2cc52da30.jpg">
$reg1='/<img alt="[^"]*" title="[^"]*" src="([^"]*)"/i'; //这个是匹配上面的<img 的正则表达式 [^"]* 这个表示的是 只要不是“ 就不断匹配 这个很常用 可以学习
preg_match_all($reg1,$res,$arr1);//把$arr1[1]遍历  并取出各个图片的uri
foreach($arr1[1] as $imgurl){//echo"<br/>".$imgurl;$imguri=str_replace("http://img.xiamov.com","",$imgurl);//echo"<br/>".$imguri;//再次发出请求 要图片  注意 这里的主机发生变化了 主机变化为img.xiamov.com
  $conn=fsockopen("img.xiamov.com",80,$errno,$errstr,30);//组织httpstr$httpstr="GET $imguri HTTP/1.1\r\n";
$httpstr.="Host: img.xiamov.com\r\n";
$httpstr.="Connection: Close\r\n\r\n";//发出请求 img
fwrite($conn,$httpstr,strlen($httpstr));
$res2="";
while(!feof($conn)){$res2.=fread($conn,1024);
}
fclose($conn);//看看$res2是什么
//file_put_contents("D:/1.txt", $res2);
//exit();
//我们把图片的数据从$res2截取出来 保存成图片$pos=strpos($res2,"\r\n\r\n");
$imgres=substr($res2,$pos+4);  //后面加的数字很重要 这个数字4 是本人不断测试才得到的
$fileinfo=pathinfo($imguri);
file_put_contents("./myimages/".$fileinfo['basename'], $imgres);
//die;
sleep(2);  //我们可以使用sleep函数 来延迟发送请求
}die("成功取回图片");

  以上是采取A67电影网中电影列表的部分图片   通过以上的爬取程序 我们就可以爬取任何网站的图片了

转载于:https://www.cnblogs.com/phpwbj/p/5713129.html

使用php实现爬虫程序 套取网站的图片实例相关推荐

  1. Python爬虫 爬取网站全部图片实战

    一.获得图片地址 和 图片名称 1.进入网址之后 按F12  打开开发人员工具点击elemnts 2.点击下图的小箭头 选择主图中的任意一个图片   那我们这里点击第一个 图片 3.显示控制台 为了验 ...

  2. 靖哥哥教你如何用java做爬虫抓取网站美女图片(详解步骤)

    原文 https://www.jggbk.com/blogs/article/258.html

  3. python 爬虫 抓取网站img图片

    from getHtml import getHtmlWinthIp from getHtml import getHtml from bs4 import BeautifulSoup from ur ...

  4. python爬虫防屏蔽_python爬虫程序如何预防被限制

    有一些网站不喜欢被爬虫程序访问,所以会检测连接对象,如果是爬虫程序,也就是非人点击访问,它就会不让你继续访问,所以为了要让程序可以正常运行,需要隐藏自己的爬虫程序的身份.此时,我们就可以通过设置Use ...

  5. 火车头采集器 采集https网站 以及网站cookie 避免 蜘蛛 爬虫 程序等

    火车头采集器 采集https网站 并不是想象中的困难,有时https网站只是用了这个加密协议,但是事实上的数据并没有加密,所以仍然可以采集. 如果确实有困难的可以通过,http分析软件来确认地址,如H ...

  6. 使用PyCharm编写Scrapy爬虫程序,爬取古诗词网站

    使用PyCharm编写Scrapy爬虫程序,爬取古诗词网站 本次测试案例参考厦门大学数据库实验室 链接: https://dblab.xmu.edu.cn/blog/3937/ 在PyCharm中新建 ...

  7. python 模拟各大网站登陆方式,以及一些爬虫程序

    仅供练习使用,代码注释很详细 收集了一些各大网站登陆方式, 和一些网站的爬虫程序,有的是通过 selenium 登录,有的是通过抓包直接模拟登录,有的是利用 scrapy,希望对小白有所帮助,本项目用 ...

  8. python模拟各大网站登陆方式,以及一些爬虫程序,麻麻再也不用担心我学爬虫啦!...

    python模拟各大网站登陆方式,以及一些爬虫程序 仅供练习使用,代码注释很详细 收集了一些各大网站登陆方式, 和一些网站的爬虫程序,有的是通过selenium登录,有的是通过抓包直接模拟登录,有的是 ...

  9. python模拟各大网站登陆方式,以及一些爬虫程序, 麻麻再也不用担心我学爬虫啦!...

    python模拟各大网站登陆方式,以及一些爬虫程序 仅供练习使用,代码注释很详细 收集了一些各大网站登陆方式, 和一些网站的爬虫程序,有的是通过selenium登录,有的是通过抓包直接模拟登录,有的是 ...

最新文章

  1. ssis foreach 使用ADO记录集
  2. 雅虎正开发聊天机器人挑战对手 不过似乎很难成功
  3. 不安装oracle客户端如何用plsql连接oracle
  4. MongoDB索引策略和索引类型
  5. Effective Java -- 思维导图
  6. Gojs学习史(一):基本定义
  7. Centos 云服务器磁盘占用率90%以上的排查解决
  8. 北理计算机语言智能与社会计算,北京理工大学校长张军描绘智慧社会:人在思、云在算、端在造...
  9. python语言中、外部模块先导入、再使用_python引入导入自定义模块和外部文件--转载Sumomo的博客...
  10. 苹果iCloud大调整:干掉1TB版本,2TB降价
  11. openwrt udp服务器_开启tftp服务器 tftp服务器的含义
  12. 解决SVN语言包安装后无法出现下拉框选择
  13. 继电器控制实验程序c语言,继电器原理及实验程序
  14. @Value 注解用法
  15. BSGS(拔山盖世算法),北上广深算法
  16. Gartner:上云步伐加速,中国公有云部署最佳实践
  17. Ridge Regression and Kernel Ridge Regression
  18. return 和return:redirect:/**
  19. HTML网页版雷电游戏
  20. Redis Cluste部署

热门文章

  1. spyder tensorflow-GPU配置
  2. 翻牌模拟器 | Java
  3. 高中数学必修四平面向量复习笔记知识点
  4. 第三方登录之新浪微博
  5. 向日葵远程连接,对面电脑无法操作,但鼠标可移动
  6. Whale帷幄 - 智慧新零售技术营销解决方案 商超门店全场景数字化
  7. python怎么去掉换行符_如何在Python中删除尾部换行符?
  8. DM8安装部署与使用
  9. STM32F103C8T6音频数据的Flash读取与DAC播放
  10. java sinh_static double sinh(double x)