打算用php实现一个爬虫,这是爬指定页面的图片的一段程序,其他的部分还没调试好,先把这个放上来

 <?php
$string=file_get_contents("http://www.baidu.com");
echo 'size:'.strlen($string)."</br>";
$length=strlen($string);
searchImg($string,$length); function searchImg($string,$length){
for ($i=0; $i <$length ; $i++) {
if(($string[$i]=='s')&&($string[$i+1]=='r')&&($string[$i+2]=='c')){
$index=$i; $scr=searchScr($index,$length,$string);//为“http://.......***”的格式 $type=judgeType($scr);
//
if($type!="error"){
echo 'location:'.$index.'</br>';
echo 'scourse:'.$scr.'</br>';
echo 'type:'.$type."</br>";
$filename='pic/'.$index.'.'.$type;
$handle=fopen($filename,"a"); $scrString=file_get_contents($scr);
fwrite($handle, $scrString);
fclose($handle);
} } }
} function judgeType($scr){
$length=strlen($scr); if((($scr[$length-1]=='f'||$scr[$length-1]=='F'))&&(($scr[$length-2]=='i')||($scr[$length-2]=='I'))){
return "gif";
}
else if ((($scr[$length-1]=='g'||$scr[$length-1]=='G'))&&(($scr[$length-2]=='P')||($scr[$length-2]=='p'))) {
return "jpg";
}
else if((($scr[$length-1]=='g'||$scr[$length-1]=='G'))&&(($scr[$length-2]=='n')||($scr[$length-2]=='N'))){
return "png";
}
else if((($scr[$length-1]=='g'||$scr[$length-1]=='G'))&&(($scr[$length-2]=='E')||($scr[$length-2]=='e'))){
return "jpeg";
}
else{
return "error";
}
} function searchScr($index,$length,$string){
if($string[$index+5]==="h"){ $scr='';
}
else{ $scr='http:';
} for ($i=$index+5; $i<$length ; $i++) {
if($string[$i]==='"'){
//$scr=$scr.'"';
break;
}
else{
$scr=$scr.$string[$i];
}
}
return $scr;
//echo $scr; } ?>

主要说一些不足,动态生成的图片不能收录,css中的图片不能收录,这是接下来要完善的地方,爬虫就是不断完善出来的,php的字符串还是蛮累的。。。

PHP写的爬虫,爬指定网站页面上的各种图片的更多相关文章

  1. 【Python3 爬虫】14_爬取淘宝上的手机图片

    现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢? 首先,我们需要分析网页,先看看网页有哪些规律 打开淘宝网站http://www.taobao.com/ 我们可以看到 ...

  2. Python写网络爬虫爬取腾讯新闻内容

    最近学了一段时间的Python,想写个爬虫,去网上找了找,然后参考了一下自己写了一个爬取给定页面的爬虫. Python的第三方库特别强大,提供了两个比较强大的库,一个requests, 另外一个Bea ...

  3. 如何使用robots禁止各大搜索引擎爬虫爬取网站

    ps:由于公司网站配置的测试环境被百度爬虫抓取,干扰了线上正常环境的使用,刚好看到每次搜索淘宝时,都会有一句由于robots.txt文件存在限制指令无法提供内容描述,于是便去学习了一波 1.原来一般来 ...

  4. 用python写一个爬虫——爬取性感小姐姐

    忍着鼻血写代码 今天写一个简单的网上爬虫,爬取一个叫妹子图的网站里面所有妹子的图片. 然后试着先爬取了三页,大概有七百多张图片吧!各个诱人的很,有兴趣的同学可以一起来爬一下,大佬级程序员勿喷,简单爬虫 ...

  5. Python爬虫 爬取Web页面图片

    从网页页面上批量下载jpg格式图片,并按照数字递增命名保存到指定的文件夹 Web地址:http://news.weather.com.cn/2017/12/2812347.shtml 打开网页,点击F ...

  6. python爬取网站页面时,部分标签无指定属性而报错

    在写爬取页面a标签下href属性的时候,有这样一个问题,如果a标签下没有href这个属性则会报错,如下: 百度了有师傅用正则匹配的,方法感觉都不怎么好,查了BeautifulSoup的官方文档,发现一 ...

  7. webmagic 二次开发爬虫 爬取网站图片

    webmagic的是一个无须配置.便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫. webmagic介绍 编写一个简单的爬虫 webmagic的使用文档:http://w ...

  8. 手把手教你用Node.js爬虫爬取网站数据

    个人网站 https://iiter.cn 程序员导航站 开业啦,欢迎各位观众姥爷赏脸参观,如有意见或建议希望能够不吝赐教! 开始之前请先确保自己安装了Node.js环境,还没有安装的的童鞋请自行百度 ...

  9. Java爬虫爬取网站电影下载链接

    之前有看过一段时间爬虫,了解了爬虫的原理,以及一些实现的方法,本项目完成于半年前,一直放在那里,现在和大家分享出来. 网络爬虫简单的原理就是把程序想象成为一个小虫子,一旦进去了一个大门,这个小虫子就像 ...

随机推荐

  1. schema workbench的操作

    1.schema workbench连不上sql,如下: 看不懂,这是驱动的问题,你只要使用最新的驱动,mysql-connector-java-5.1.13-bin.jar 将对应驱动放入schem ...

  2. android EventBus详解(二)

    上一节讲了EventBus的使用方法和实现的原理,下面说一下EventBus的Poster只对粘滞事件和invokeSubscriber()方法是怎么发送的. Subscribe流程 我们继续来看Ev ...

  3. 浮点数据有损压缩算法 附完整C代码

    在几年前的时候在做修图APP算法的时候, 曾经一度想过对3D Lut 预设数据进行压缩, 主要用于提升用户体验. 关于3d lut算法开源的资源也挺多的,就不多做科普了. 有兴趣的朋友,可以去查阅下f ...

  4. 八、Join 连接查询

    文档目录 开发中...

  5. sublime使用技巧之集成VI

    熟悉开发工具,减少多余的操作流程有助于提高开发效率,而Sublime Text 2是sublime产品的经典版本,因此本文基于Sublime Text 2讲解sublime的使用技巧. VI的主要作用 ...

  6. [转]在Windows下编译ffmpeg完全手册

    本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注 ...

  7. 记住这个网站:服务器相关数据统计网站 http://news.netcraft.com/

    http://news.netcraft.com/ 需要参考现在服务器相关数据,可以上这个网站. 当然google趋势也是一个可选得备案. 有一个数据统计更全面的: http://w3techs.co ...

  8. HDU-5738

    Eureka Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem D ...

  9. oracle数据库的备份与还原(本地及远程操作)

    数据的导出 exp qh/qh@qh  file='d:\backup\qh\qh20060526.dmp'  grants=y  full=n  1 将数据库TEST完全导出,用户名system 密 ...

  10. R语言学习 第十一篇:日期和时间

    R语言的基础包中提供了三种基本类型用于处理日期和时间,Date用于处理日期,它不包括时间和时区信息:POSIXct/POSIXlt用于处理日期和时间,其中包括了日期.时间和时区信息.R内部在存储日期和 ...