打算用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. java--加强之 Java5的线程并发库

    转载请申明出处:http://blog.csdn.net/xmxkf/article/details/9945499 01. 传统线程技术回顾 创建线程的两种传统方式: 1.在Thread子类覆盖的r ...

  2. HBase Compaction

    当 client 向 hregion 端 put() 数据时, HRegion 会判断当前的 memstore 的大小是否大于参数hbase.hregion.memstore.flush.size 值 ...

  3. linux下利用ruby做系统备份与还原

    啥都不说了,都在代码里 :) #!/usr/bin/ruby BAK_PATH = "/media/backup.tar.xz" def to_backup exclude_fil ...

  4. BCD码转十进制C语言实现

    #include <stdio.h> #include <stdlib.h> #define uchar unsigned char uchar BCD_Decimal(uch ...

  5. C#基础随手笔记之基础操作优化

    对数据的查询,删除等基本操作是任何编程语言都会涉及到的基础,因此,研究了一下C#中比较常用的数据操作类型,并顺手做个笔记. List查询时,若是处理比较大的数据则使用HashSet<T>类 ...

  6. day08_Servlet学习笔记

     ============================================================ 一.什么是Servlet?(非常非常重要) servlet 是运行在 Web ...

  7. ORACLE复杂查询之连接查询

    一.传统的连接查询 1.交叉连接:返回笛卡尔积 WHERE中限定查询条件,可以预先过滤掉掉不符合条件的记录,返回的只是两个表中剩余记录(符合条件的记录)的笛卡尔积. 2.内连接:参与连接的表地位平等, ...

  8. Memocache 详细的工作机制

    memcached集群 2013-04-26 13:56:37|  分类: memcached |  标签:集群  memcached  |举报|字号 订阅     集群架构方面的问题 memcach ...

  9. layerX参数构建

    var defaults = { name: 'layerX', url: [ { name: 'sub', url: '', focus: true } ], parent: { name: '', ...

  10. 干货!从Tomcat执行流程了解jsp是如何被解析的,错误提示是哪里生成的。

    一.关于Tomcat组成          先上张图: Tomcat组成: 1. Server:代表整个 servlet 容器,如Tomcat,JBoss之类的. 2. Service:它由一个或者多 ...